const 定义的是常量 不可在后续代码中进行赋值;
var 存在声明提升 管的更宽
let 不存在声明提升 拥有块级作用域,只负责当前定义的作用域
function varTest() {
var x = 1;
if (true){
var x = 2; // 同样的变量!
console.log(x); // 2
}
console.log(x); // 2
}
function letTest() {
let x = 1;
if (true) {
let x = 2; // 不同的变量
console.log(x); // 2
}
console.log(x); // 1
}