Closed uinz closed 8 years ago
for (var i = 0; i < 5; i++) { setTimeout(function (i) { console.log(i); }(i), 5); }
@WoHal 请不要误导,谢谢,你那样写成同步执行了
for (var i = 0; i < 5; i++) {
setTimeout(function (i) {
console.log(i);
}, 5, i);
}
@yinzSE 这不是异步的坑,是你对js还不是很了解,你需要明白他的作用域之间的关系
@WoHal 真坑啊你
@alsotang 哈哈, 必须坑
@WoHal :joy:
@XGHeaven 我的意思是, 我们预期的结果应该是 0 1 2 3 4, 而不是 1 2 3 4 5
i 是 从 0 开始的
因为使用闭包写 我们得到的也是 0 1 2 3 4
@yinzSE 没懂。。
@XGHeaven 我的意思就是这句话应该这么改下..
上面这个代码块会打印五个 5 出来,而我们预想的结果是打印
1 2 3 4 50 1 2 3 4。
看来我的表达能力是个问题...
哦,好吧😂我懂了
噢噢,你是在跟我反映问题啊。。
2016-01-13 0:55 GMT+08:00 Xu Tianyang notifications@github.com:
哦,好吧😂我懂了
— Reply to this email directly or view it on GitHub https://github.com/alsotang/node-lessons/issues/79#issuecomment-170973549 .
修正了
2016-01-13 11:56 GMT+08:00 alsotang alsotang@gmail.com:
噢噢,你是在跟我反映问题啊。。
2016-01-13 0:55 GMT+08:00 Xu Tianyang notifications@github.com:
哦,好吧😂我懂了
— Reply to this email directly or view it on GitHub https://github.com/alsotang/node-lessons/issues/79#issuecomment-170973549 .
应该是
0 1 2 3 4