• <legend id='aVXPQ'><style id='aVXPQ'><dir id='aVXPQ'><q id='aVXPQ'></q></dir></style></legend>
  • <small id='aVXPQ'></small><noframes id='aVXPQ'>

      <i id='aVXPQ'><tr id='aVXPQ'><dt id='aVXPQ'><q id='aVXPQ'><span id='aVXPQ'><b id='aVXPQ'><form id='aVXPQ'><ins id='aVXPQ'></ins><ul id='aVXPQ'></ul><sub id='aVXPQ'></sub></form><legend id='aVXPQ'></legend><bdo id='aVXPQ'><pre id='aVXPQ'><center id='aVXPQ'></center></pre></bdo></b><th id='aVXPQ'></th></span></q></dt></tr></i><div id='aVXPQ'><tfoot id='aVXPQ'></tfoot><dl id='aVXPQ'><fieldset id='aVXPQ'></fieldset></dl></div>
        <bdo id='aVXPQ'></bdo><ul id='aVXPQ'></ul>

      1. <tfoot id='aVXPQ'></tfoot>

        JavaScript的作用域和块级作用域概念理解

        时间:2023-12-09
      2. <legend id='GK99J'><style id='GK99J'><dir id='GK99J'><q id='GK99J'></q></dir></style></legend>
      3. <small id='GK99J'></small><noframes id='GK99J'>

          <tfoot id='GK99J'></tfoot>
              <tbody id='GK99J'></tbody>
            • <bdo id='GK99J'></bdo><ul id='GK99J'></ul>
              <i id='GK99J'><tr id='GK99J'><dt id='GK99J'><q id='GK99J'><span id='GK99J'><b id='GK99J'><form id='GK99J'><ins id='GK99J'></ins><ul id='GK99J'></ul><sub id='GK99J'></sub></form><legend id='GK99J'></legend><bdo id='GK99J'><pre id='GK99J'><center id='GK99J'></center></pre></bdo></b><th id='GK99J'></th></span></q></dt></tr></i><div id='GK99J'><tfoot id='GK99J'></tfoot><dl id='GK99J'><fieldset id='GK99J'></fieldset></dl></div>

                  JavaScript作用域

                  在JavaScript中,作用域控制着变量和函数的可见性和生命周期。作用域是定义变量、函数以及访问它们的地方的一套规则。

                  作用域分为全局作用域和局部作用域。在函数中定义的变量、函数参数以及函数内部声明的函数都属于该函数的局部作用域。全局作用域包含了浏览器环境下的所有对象和方法,函数内部可以访问全局变量。

                  JavaScript作用域规则:
                  1.全局变量可以在整个程序范围内访问,函数内部可以访问全局变量
                  2.函数内部声明的变量只能在函数内部访问
                  3.函数内部可以访问全局变量
                  4.变量在出现在赋值表达式左侧时进行声明和初始化,赋值表达式右侧可以是任何类型

                  示例1:

                  var globalVar = 1; // 全局变量
                  
                  function myFunc() {
                    var localVar = 2; // 局部变量
                    console.log(globalVar); // 可以访问全局变量
                    console.log(localVar); // 可以访问局部变量
                  }
                  
                  myFunc(); // 函数运行
                  console.log(globalVar); // 可以访问全局变量
                  console.log(localVar); // 局部变量无法在函数外部访问
                  

                  示例2:嵌套函数

                  function outer() {
                    var a = 1;
                  
                    function inner() {
                      var b = 2;
                      console.log(a); // 可以访问外部函数的变量
                    }
                  
                    inner(); // 调用内部函数
                  }
                  
                  outer(); // 调用外部函数
                  

                  块级作用域

                  JavaScript是ES6之前没有块级作用域的,只有全局作用域和函数作用域。而块级作用域类似于函数作用域,但是只存在于if语句、循环语句、try/catch语句以及ES6新增的let和const关键词中。

                  块级作用域规则:
                  1.变量和函数在块级作用域中声明时只存在于该块级作用域中,不会污染全局变量
                  2.块级作用域中存在变量提升,但需要注意使用let和const关键词
                  3.块级作用域在外部无法访问其中的变量

                  示例3:if语句块级作用域

                  var a = 1;
                  if (true) {
                    var a = 2;
                  }
                  console.log(a); // 2
                  

                  使用var声明变量时,if语句中的a变量会覆盖全局变量a,导致输出结果为2。

                  示例4:let语句块级作用域

                  let b = 1;
                  if (true) {
                    let b = 2;
                    console.log(b); // 2
                  }
                  console.log(b); // 1
                  

                  使用let声明变量时,if语句中的变量b只存在于该块级作用域中,不会影响全局变量b,输出结果为2和1。

                  上一篇:原生js实现轮播图的示例代码 下一篇:JS 作用域与作用域链详解

                  相关文章

                  <tfoot id='kofDa'></tfoot>
                • <small id='kofDa'></small><noframes id='kofDa'>

                    <legend id='kofDa'><style id='kofDa'><dir id='kofDa'><q id='kofDa'></q></dir></style></legend>

                  1. <i id='kofDa'><tr id='kofDa'><dt id='kofDa'><q id='kofDa'><span id='kofDa'><b id='kofDa'><form id='kofDa'><ins id='kofDa'></ins><ul id='kofDa'></ul><sub id='kofDa'></sub></form><legend id='kofDa'></legend><bdo id='kofDa'><pre id='kofDa'><center id='kofDa'></center></pre></bdo></b><th id='kofDa'></th></span></q></dt></tr></i><div id='kofDa'><tfoot id='kofDa'></tfoot><dl id='kofDa'><fieldset id='kofDa'></fieldset></dl></div>

                      • <bdo id='kofDa'></bdo><ul id='kofDa'></ul>