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

Javascript异步事件的疑问

Javascript异步事件的疑问

拉丁的传说 2019-04-14 11:23:03
console.log(1)setTimeout(function(){console.log(2)},5000);setTimeout(function(){console.log(4)},500);console.log(3);output:1-3-4-2Javascript会把回调函数放入主线程外的任务队列中,任务队列是一个先进先出的队列。那么回到上面的代码中,function(){console.log(2)}是排在function(){console.log(4)}前面的,为什么会先打印4呢?
查看完整描述

2 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

就算是先进先出,也有条件的,setTimeout函数本身有延迟时间,你的setTimeout(function(){console.log(4)},500);因为设置的延迟时间比setTimeout(function(){console.log(2)},5000);短,不考虑其他什么运行机制,就看逻辑,4不也是应该比2先输出么?
                            
查看完整回答
反对 回复 2019-04-14
  • 2 回答
  • 0 关注
  • 255 浏览
慕课专栏
更多

添加回答

举报

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