let : 1. let声明的变量不再做变量提升,只能先声明,后使用,
2. let声明的全局变量不再是window的属性
3. let声明变量,会自动产生块级作用域,在块级作用域中声明的变量,只在当前作用域中有效
for(let i = 1;i < 5;console.log(i),i ++){
let i = 10;
alert(i);
}
console.log(i);
for循环本身是一个块级作用域,在这个作用域,它的循环体又是它的子级块作用域.
4. 在同一个作用域中,不能重复声明一个变量.
const : 用于声明常量(不能重复声明,不可以重复赋值)
1. 基本数据类型: 值不允许改变,
2. 复合数据类型: 引用地址不能改变,堆中的数据可以修改,