let
- 作用域在代码块
{
let a = 1;
console.log(a);
}
console.log(a); //报错
- 用在for循环里面
for(let i=0;i<10;i++){
}
console.log(i); //报错
- 在作用域内变量重名报错
- 没有变量提升
- 死区
函数
var a = function fn(){console.log(1)}; // 函数表达式
function fm(){} //函数声明
{
let a = 1;
console.log(a);
}
console.log(a); //报错
for(let i=0;i<10;i++){
}
console.log(i); //报错
var a = function fn(){console.log(1)}; // 函数表达式
function fm(){} //函数声明