1.let 变量不能重复声明
如:
let a = 2
let a = 3这种写法是错误的。 //变量不能重复声明
2.let 不存在变量提升(var会变量提升)
console.log(a)
let a = '恋爱达人'
控制台会报错
3.let 块级作用域(if , else, for)(不同于var)
{
let a = 2
var b = 3
}
console.log(a) //控制台会报错,a is not defined 全局作用域中 a 未被定义,a只在块级作用中被定义
console.log(b) //输出 2, var b = 3,相当于在全局作用域中定义了一个变量 b, window.b = 3
4.不影响作用域链
{
let school = '哈佛';
function fn(){
console.log(school);
}
fn();
}
控制台输出 哈佛。