刚才看到一个问题,然后写了如下代码
for(var i=1;i<=3;i++){ (function(i){ setTimeout(function(){ alert(i); },10000); })(i); }
发现10秒延迟之后弹出1 3 2,而换成1秒延迟就是1 2 3,想不明白.
刚才看到一个问题,然后写了如下代码
for(var i=1;i<=3;i++){ (function(i){ setTimeout(function(){ alert(i); },10000); })(i); }
发现10秒延迟之后弹出1 3 2,而换成1秒延迟就是1 2 3,想不明白.
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
10秒之后也可能出现123,这个是随机的,取决于调度算法,不能依赖于这个顺序。