let var const区别 以及for循环异步问题

文章讨论了JavaScript中let、var和const声明变量的区别,特别是它们在异步循环中的表现。let不允许变量提升且具有块级作用域,因此在异步操作中不会像var那样受到变量覆盖的影响,能正确保留每次循环的值。const则强调赋值后不可变,同样遵循块级作用域规则。
摘要由CSDN通过智能技术生成

let var const区别
let:不存在变量提升,不能重复声明,有块级作用域
const:赋值常量后不可被修改,不存在变量提升,不能重复声明,有块级作用域
var:存在变量提升,能重复声明,没有块级作用域

关于let var 的异步循环
在这里插入图片描述

在这里插入图片描述
思路如下图
var 声明的循环:就是运行五次的set代码 会放到右边异步队列里但不执行,里面的代码(i)会等到左边同步执行完之后再刷新,,因为左边的var会重复声明覆盖变量值,只有在最后一刻左边的同步循环完后,再会统一输出。
而let则会锁住变量,也就是有块级作用域也就是右边异步队列会直接输出0,1,2,3,4,5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值