let与var

参考资料

1 为什么需要有let 关键词,首先要理解js的作用域

1.1 我们知道c语言中有全局变量/局部变量/块级变量

int x = 1;
int main(){
    return 0;
}
//全局变量
int x = 3;
void f(){
 int x = 1;
 //局部变量,屏蔽外部变量
 printf("%d",x); //1
}
int main(){
for(int i = 0 ; i < 10 ; i++ ){
    int x = 3;
    //块级变量
    //同样还可以用if while甚至{}申明块级变量
}
printf("%d",x);//error,找不到x这个变量
}

1.2但是js中没有 块级变量

所以在js中

for(var x = 1 ; x < 10 ; x++){
 //做点什么
}
console.log(x)//10
//块级变量在申明它的块之外也能被访问到
//x表现的类似于一个全局变量
//占用内存
//污染作用域

所以引入了let关键词用来申明块级变量

//上面的代码修改成为
for(let x = 1 ; x < 10 ; x++){
 //做点什么
}
console.log(x)//x is not defined
阅读更多
文章标签: js
个人分类: js
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

let与var

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭