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的时候可以修改里面的属性,因为地址没有发生变化

posted @ 2021-02-24 11:11  abcdefgab  阅读(118)  评论(0)    收藏  举报