- let与var有许多共同点,他们都是声明变量的作用域
var str="var声明的"
let str1="let声明的"
console.log(str)
console.log(str1)
- 当然,let与var也有许多不同点,这让let在一些运用中脱颖而出
- let是块级作用域,一个大括号就是一个作用域,而不是在函数里面才算局部作用域
{
let str = "let声明的"
let a = 22
console.log(str)//在作用域里面可以访问
}
console.log(a)//在作用域外面无法访问
- let不能在定义之前访问该变量,相当于没有隐式提升
console.log(a)//先访问会出错
let a=77
- let不能被重新定义
var a = 1;
var a = 2;
console.log(a); // 2
let c= 3;
let c= 4;
console.log(b);