for循环中的闭包
1.代码
for(i=0;i<3;i++){ setTimeout(function(){ console.log(i); },0) }
输出为:

2.代码(闭包,直接执行匿名函数)
for (var i = 0; i < 3; i++) { (function(x){ setTimeout(function(){ console.log(x); },0) })(i) }
输出为:

3.代码(let)
for (let i = 0; i < 3; i++) { setTimeout(function(){ console.log(i); },0) }
输出为:


浙公网安备 33010602011771号