变量作用域

Author Avatar
Roojay 9月 29, 2017
  • 在其它设备中阅读本文章

变量作用域

  • JavaScript 的函数可以嵌套,内部函数可以访问外部函数定义的变量,反之则不行。
  • varlet创建的变量区别在于:
    1. var声明的变量作用域为最近的函数块,let声明的变量作用域为最近的闭合块,往往小于函数块。
    2. var声明的变量会被提升到作用域的头部,但是赋值不会被提升,在实际声明前使用会抛出undefined
    3. let声明不受变量提升的约束,这意味着let声明不会被提升到当前执行上下文的顶部。在块中的变量初始化之前,引用它将会导致 ReferenceError(而使用 var 声明变量则恰恰相反,该变量的值是 undefined )。这个变量处于从块开始到 let 初始化处理的”暂存死区“之中。let声明的变量不能在实际声明之前使用,否则会抛出ReferenceError异常。

The MIT License (MIT)
Copyright (c) 2019, Roojay.

本文链接:https://roojay.com/pages/7395d6fb/