上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

JS进阶-作用域、垃圾回收机制、闭包、变量提升(一)

guduadmin14小时前

• 作用域

作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问

作用域分为:

  •  局部作用域
  •  全局作用域

    • 局部作用域

    局部作用域分为函数作用域和块作用域。

    • 1. 函数作用域:

      在函数内部声明的变量只能在函数内部被访问,外部无法直接访问。

      JS进阶-作用域、垃圾回收机制、闭包、变量提升(一),第1张

      总结:

      1. 函数内部声明的变量,在函数外部无法被访问

      2. 函数的参数也是函数内部的局部变量

      3. 不同函数内部声明的变量无法互相访问

      4. 函数执行完毕后,函数内部的变量实际被清空了 

      • 2. 块作用域:

        在 JavaScript 中使用 { } 包裹的代码称为代码块,代码块内部声明的变量外部将【有可能】无法被访问。

        JS进阶-作用域、垃圾回收机制、闭包、变量提升(一),第2张

        总结:

        1. let 声明的变量会产生块作用域,var 不会产生块作用域

        2. const 声明的常量也会产生块作用域

        3. 不同代码块之间的变量无法互相访问

        4. 推荐使用 let 或 const 

        • 全局作用域