一:区别
Let不能重复声明,且必须先声明再调用;
但也可以只声明不赋值,默认赋值undefined;
二:实例
let x = 10;
let x = 20; // 这里将会报错,因为 x 已经被声明过了
console.log(y);
let b = 1; // 这里还报错,不会变量提升
但是不同作用域下,可以重复声明
for (let i = 2; i <= n; i++) {let next = 1; // 这里不会报错
}
因为for循环每次迭代,{}里面都是互相隔离的新的作用域。