let var const区别
let:不存在变量提升,不能重复声明,有块级作用域
const:赋值常量后不可被修改,不存在变量提升,不能重复声明,有块级作用域
var:存在变量提升,能重复声明,没有块级作用域
关于let var 的异步循环
思路如下图
var 声明的循环:就是运行五次的set代码 会放到右边异步队列里但不执行,里面的代码(i)会等到左边同步执行完之后再刷新,,因为左边的var会重复声明覆盖变量值,只有在最后一刻左边的同步循环完后,再会统一输出。
而let则会锁住变量,也就是有块级作用域也就是右边异步队列会直接输出0,1,2,3,4,5