• <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的作用域和块级作用域概念理解

        JavaScript作用域
      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。

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  treetable.js没有checked做联动。于是自己基于treetable开发的一个小功能,希望能和大家一起交流一下。 1. 在当前HTML文档checked监听函数中增加以下代码 //联动 table.on('checkbox(quan_list)', function(obj){ //console.log(obj); //当前id var id = obj.
                  当使用Javascript的attachEvent来绑定事件时,我们希望能够给事件处理函数传递一些参数,但是attachEvent本身并不支持传递参数。下面介绍两种解决方法。
                  KnockoutJS是一款流行的JavaScript库,针对一个web应用程序的建立提供了比较好的基础架构。其中,表单的数据绑定功能是KnockoutJS最为常用的功能之一。本文将详细讲解KnockoutJS 3.x
                  下面是用javascript实现改善用户体验之alert提示效果的完整攻略。
                  在学习JavaScript编写贪吃蛇游戏之前,需要掌握以下的前置知识:
                    <tbody id='kofDa'></tbody>
                  <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>

                      • <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>