前几天看了关于这方面的一个问题 发现有些没有理解console.log(0,1,2,3,4)for(let i=0;i<5;i++){ setTimeout(function(){ console.time(); alert(i); console.info(i); console.timeEnd() },1000)}有什么规律可循吗,如果可以希望再详细讲解一下 谢谢!
2 回答
ibeautiful
TA贡献1993条经验 获得超5个赞
for循环并不会等待定时器执行完在执行.所以for循环执行完之后,产生了(可以理解成线程)五个线程
然后这五个线程去抢夺cpu时间片,谁先抢到谁执行,所以打印顺序不一致.
在for循环后加一句console.log就可以看效果哦.
添加回答
举报
0/150
提交
取消