<small id='1oXVO'></small><noframes id='1oXVO'>

  • <tfoot id='1oXVO'></tfoot>

      <legend id='1oXVO'><style id='1oXVO'><dir id='1oXVO'><q id='1oXVO'></q></dir></style></legend>

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

        • <bdo id='1oXVO'></bdo><ul id='1oXVO'></ul>

        深入浅析JavaScript中的作用域和上下文

        时间:2023-12-10
        <tfoot id='BXmby'></tfoot>

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

              • <small id='BXmby'></small><noframes id='BXmby'>

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

                  标题:深入浅析JavaScript中的作用域和上下文

                  一、作用域

                  作用域是指在代码中定义变量的区域,规定了变量的有效范围和可访问性。JavaScript 中有两种作用域:全局作用域和局部作用域。

                  1.1 全局作用域

                  以 var 关键字定义的全局变量,其作用域是整个 JavaScript 代码块。可以在任何位置调用这个全局变量。

                  var globalVariable = "I am a global variable";
                  function printGlobalVariable(){
                      console.log(globalVariable);
                  }
                  printGlobalVariable();  // I am a global variable
                  

                  1.2 局部作用域

                  以 let 或 const 关键字定义的局部变量,其作用域只在块级作用域内有有效。块级作用域是指 if 语句、函数等花括号内的代码。

                  function printLocalVariable(){
                      let localVariable = "I am a local variable";
                      console.log(localVariable);
                  }
                  printLocalVariable();  // I am a local variable
                  console.log(localVariable);  // ReferenceError: localVariable is not defined
                  

                  二、上下文

                  上下文是指函数执行时内部 this 对象的指向。JavaScript 中有两种上下文:全局上下文和函数上下文。

                  2.1 全局上下文

                  在任意位置运行的 JavaScript 代码都处于全局上下文环境中。在全局上下文环境中,this 的指向是 window 对象。

                  console.log(this);  // window
                  

                  2.2 函数上下文

                  在函数被调用时,它的执行环境会被放入调用栈中,并创建一个新的上下文环境。在函数上下文环境中,this 的指向和函数的调用方式有关。

                  2.2.1 函数作为方法被调用

                  如果函数作为对象的方法被调用,将通过该对象来传递 this 指向。

                  let myObject = {
                      name: "My object",
                      sayName: function(){
                          console.log(this.name);
                      }
                  };
                  myObject.sayName();  // My object
                  

                  2.2.2 函数作为普通函数被调用

                  如果函数作为普通函数被调用,将通过全局对象 window 来传递 this 指向。

                  function sayName(){
                      console.log(this.name);
                  }
                  let myObject2 = {
                      name: "My object 2",
                      sayName: sayName
                  };
                  let name = "globalName";
                  myObject2.sayName();  // My object 2
                  sayName();  // globalName
                  

                  完整的攻略就是这样了。希望对你有所帮助。

                  上一篇:使用JavaScript通过前端发送电子邮件 下一篇:javascript 中动画制作方法 animate()属性

                  相关文章

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

                  <small id='8kKcC'></small><noframes id='8kKcC'>

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

                    1. <tfoot id='8kKcC'></tfoot>