ES6-块级作用域绑定-let和const

一、var声明及变量提升机制

       var声明,无论实际上在哪里声明,都会被当做在当前作用域顶部声明的变量,这就是变量提升机制。

 

二、块级声明

       块级声明用于声明在指定块的作用域之外无法访问的变量。块级作用域存在于:1)函数内部  2)块中

       let声明

       let可以把变量的作用域限制在当前代码块中,不会被提升,通常放在封闭代码块的顶部。

       禁止重声明

       let不能声明一个已经有标识的变量,会抛出错误

       const声明

       const声明的是常量,其值不但被设定之后不可更改

 

三、const与let

      共同点:1)都是块级标识符

                      2)只在当前代码块内有效

                      3)常量也不会被提升至作用域顶部

      不同点:const是常量,不能再次赋值,而let是可以的

 

let和const与var的另外一个区别是他们在全局作用域中的行为:

var 被用于全局作用域时,那么就会创建一个新的全局变量作为全局对象的属性。

let和const则不会创建全局对象的属性。

   ****** let还有一个很大的作用,曾经让我们头疼的经典问题,for循环,经常输出最后一个值得那个问题,终于用let解决,简化了循环过程,不再使用立即调用函数表达式,就可以解决了!*******

      

posted @ 2017-08-24 16:10  星空0909  阅读(246)  评论(0编辑  收藏  举报