美文网首页
es6块级作用域

es6块级作用域

作者: 蓝色梦想家 | 来源:发表于2017-07-25 15:44 被阅读0次

    var 声明
    在函数作用域或全局作用域中通过var声明的遍历,不管是哪里声明的,都会当成当前作用域顶部声明的变量。(常说的提升机制)
    var声明缺少块级作用域的概念。
    举例说明:


    Paste_Image.png

    上面三个地方都可以访问value 值为undefined;

    let声明
    let声明的用法与var相同。用let代替var声明变量,可以吧变量的作用域限制在当前的代码块中。let没有提升机制,所以通常将let声明语句放在封闭代码块的顶部,以便代码块都可以访问;

    Paste_Image.png

    上面三处都不能访问value,只有在demo为真的时候才创建value 并赋值{}之外都不能访问。

    let禁止重声明


    Paste_Image.png

    同一作用域不能用let重复定义已经存在的表示符。

    const声明
    使用const声明的是常量,值设定后不可更改。所以通过const声明的常量必须进行初始化
    不初始化将报错


    Paste_Image.png
     const声明与let最大的不同是const定义的常量不能重新赋值,否则会报错
    
    Paste_Image.png

    var 声明变量
    var声明变量有

    相关文章

      网友评论

          本文标题:es6块级作用域

          本文链接:https://www.haomeiwen.com/subject/inwwkxtx.html