1.let 使用于块级作用域 主要目的是解决var存在的变量提升问题 其意义是拓展块级作用域
a=1;
var a;
b=2;
let b;
//其中b=2就会报错
//a=1就不会报错
2.在for循环中我们能更好的体验
var a=[]
for(var b=0;b<10;b++){
a[b]=function(){
console.log(b)
}
}
a[4]()
//最后打印的结果是10
//当我们使用let
var a=[]
for(let b=0;b<10;b++){
a[b]=function(){
console.log(b)
}
}
a[4]()
//最后打印的结果是4
//let 的生存环境只是当前块级作用域即{}里面 而var就没有 最后导致你运行出来的结果是一个是全局变量
//中的值 另一个则是块级作用域的值
个人理解 有什么问题 请评论下面讨论 之前的文章以及之后的文章
本文探讨JavaScript中的let与var关键字,重点在于它们如何影响变量的作用域。let被引入为解决var的变量提升问题,确保变量只在声明的块级作用域内有效。在for循环中,使用var会导致闭包问题,而let则能正确保持块级作用域内的变量状态。通过示例,阐述了let如何避免在循环中产生意外的全局变量,从而提高代码的可预测性和维护性。
1389

被折叠的 条评论
为什么被折叠?



