为了账号安全,请及时绑定邮箱和手机立即绑定

关于js setTimeout alert阻塞进程

关于js setTimeout alert阻塞进程

倚天杖 2019-03-09 15:11:54
前几天看了关于这方面的一个问题 发现有些没有理解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就可以看效果哦.

查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 1578 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信