js的块级作用域

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

上代码

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

{
    var a = 1;
}
console.log(a);
//浏览器输出1
原文地址:https://www.cnblogs.com/zheng-chuang/p/7189891.html