今天不上班,复习以前的知识发现有些书籍写到js没有块级作用域,实际上ES6以前的js确实没有块级作用域,但ES6之后js拥有了块级作用域,前提是使用let关键字声明变量。
上代码
{
let a = 1;
}
console.log(a);
//浏览器会报a没有定义的错误
{
var a = 1;
}
console.log(a);
//浏览器输出1
今天不上班,复习以前的知识发现有些书籍写到js没有块级作用域,实际上ES6以前的js确实没有块级作用域,但ES6之后js拥有了块级作用域,前提是使用let关键字声明变量。
上代码
{
let a = 1;
}
console.log(a);
//浏览器会报a没有定义的错误
{
var a = 1;
}
console.log(a);
//浏览器输出1