JS中let和const
let和const
1.块级作用域
解决方法1:
var a=[];
for(var i=0;i<10;i++){
(function(i){
a[i]=function(){
console.log(i)
}
})()
}
解决方法2:
var a = [];
for (let i = 0; i < 10; i++) {
a[i] = function () {
console.log(i)
}
}
a[6]()
2.不存在变量提升
console.log("foo",foo)
let foo=1
3.不能有重复的声明
var a=100;
let a=100;-------error
var a=100;
var a=100;-------success
4.const一旦声明必须立即初始化,和let命令相同,只在声明所在的块级作用域内有效,和let一样,不存在提升
4.const不能修改,在修改obj的时候可以修改里面的属性,因为地址没有发生变化

浙公网安备 33010602011771号