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

    1. <legend id='kFLNZ'><style id='kFLNZ'><dir id='kFLNZ'><q id='kFLNZ'></q></dir></style></legend>
        <bdo id='kFLNZ'></bdo><ul id='kFLNZ'></ul>

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

        一次让你了解全部JavaScript的作用域

        时间:2023-12-10

        <small id='AnJun'></small><noframes id='AnJun'>

            <bdo id='AnJun'></bdo><ul id='AnJun'></ul>

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

            1. <tfoot id='AnJun'></tfoot>
                  <tbody id='AnJun'></tbody>
              • <legend id='AnJun'><style id='AnJun'><dir id='AnJun'><q id='AnJun'></q></dir></style></legend>
                • 一次让你了解全部JavaScript的作用域的攻略包含了以下步骤:

                  第一步:理解作用域和作用域链

                  在JavaScript中,作用域是指变量可访问的范围。JavaScript中的作用域是词法作用域,即作用域的范围由代码中变量和函数声明的位置决定。当搜索变量时,会沿着作用域链一级一级地向上查找变量定义。作用域链是指一个指向外部环境的指针列表,它指向所有父级作用域,直到找到目标变量。

                  第二步:介绍全局作用域

                  全局作用域是指在全局范围内定义的变量,可以在代码的任何地方被访问。在浏览器中,全局作用域是window对象,也就是说全局变量实际上是window对象的属性之一。

                  示例1:全局作用域中定义变量

                  var name = "John";
                  function sayName() {
                    console.log(name);
                  }
                  sayName(); // 打印输出 "John"
                  

                  在示例1中,变量name在全局作用域中声明,函数sayName可以访问该变量并打印输出。函数在查找变量时将一直向上查找到全局作用域。

                  第三步:介绍局部作用域

                  在函数内部定义的变量只能在该函数内部访问,这种作用域称为局部作用域。

                  示例2:局部作用域中定义变量

                  function greet() {
                    var message = "Hello";
                    console.log(message);
                  }
                  greet(); // 打印输出 "Hello"
                  console.log(message); // 报错:message未定义
                  

                  在示例2中,变量message在函数greet的内部作用域中声明,该变量不能在函数外部访问,因此在函数外部访问该变量会导致报错。

                  第四步:介绍块级作用域

                  ES6引入了块级作用域,用于限制变量的可访问范围。块级作用域可以由花括号{}定义,如if语句或for循环语句。

                  示例3:块级作用域中定义变量

                  if (true) {
                    let message = "Hello";
                    console.log(message);
                  }
                  console.log(message); // 报错:message未定义
                  

                  在示例3中,变量message在if语句的块级作用域中定义,该变量只能在该块级作用域内访问,因此在块级作用域外访问该变量会导致报错。

                  通过理解作用域和作用域链、全局作用域、局部作用域和块级作用域,可以全面理解JavaScript的作用域概念,进而编写出更加健壮的代码。

                  上一篇:javascript简单写的判断电话号码实例 下一篇:浅谈JavaScript中内存泄漏的几种情况

                  相关文章

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

                    <small id='dnojH'></small><noframes id='dnojH'>

                  3. <legend id='dnojH'><style id='dnojH'><dir id='dnojH'><q id='dnojH'></q></dir></style></legend>