关于var和let(如果答得好果断追加100悬赏!)



0

0

 

 

    0
 

0

0

 
 

这样就打印12,34,5

这样就打印5個6为什么呢?

我的理解es6的 是区域作用域变量,所以每循环一次就是一个独立的作用域所以5个setTimeout里的i值是相互独立的。

而es5的 var是根据函数范围来区分作用域循环的区域不是一个单独的作用域,所以一直都是同一个i当setTimeout开始执行的时候,for循环已经结束了所以会打印5个6。
不知道我这样理解对不对

我要回帖

更多关于 let和var的区别 的文章

 

随机推荐