ES6更新的let

本文探讨JavaScript中的let与var关键字,重点在于它们如何影响变量的作用域。let被引入为解决var的变量提升问题,确保变量只在声明的块级作用域内有效。在for循环中,使用var会导致闭包问题,而let则能正确保持块级作用域内的变量状态。通过示例,阐述了let如何避免在循环中产生意外的全局变量,从而提高代码的可预测性和维护性。
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就没有 最后导致你运行出来的结果是一个是全局变量
//中的值 另一个则是块级作用域的值

个人理解 有什么问题 请评论下面讨论 之前的文章以及之后的文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值