js的块级作用域

今天不上班,复习以前的知识发现有些书籍写到js没有块级作用域,实际上ES6以前的js确实没有块级作用域,但ES6之后js拥有了块级作用域,前提是使用let关键字声明变量。

上代码

{
    let a = 1;
}
console.log(a);
//浏览器会报a没有定义的错误

{
    var a = 1;
}
console.log(a);
//浏览器输出1
posted @ 2017-07-16 10:47  郑闯  阅读(365)  评论(0编辑  收藏  举报