这样就打印12,34,5
这样就打印5個6为什么呢?
我的理解es6的 是区域作用域变量,所以每循环一次就是一个独立的作用域所以5个setTimeout里的i值是相互独立的。
而es5的 var是根据函数范围来区分作用域循环的区域不是一个单独的作用域,所以一直都是同一个i当setTimeout开始执行的时候,for循环已经结束了所以会打印5个6。
不知道我这样理解对不对
0
0
0
这样就打印12,34,5
这样就打印5個6为什么呢?
我的理解es6的 是区域作用域变量,所以每循环一次就是一个独立的作用域所以5个setTimeout里的i值是相互独立的。
而es5的 var是根据函数范围来区分作用域循环的区域不是一个单独的作用域,所以一直都是同一个i当setTimeout开始执行的时候,for循环已经结束了所以会打印5个6。
不知道我这样理解对不对