js事件循环

(function a () {

  console.log(1);

  setTimeout(function(){console.log(2);}, 1000);  // 第3行

  console.log(3);

  setTimeout(function(){console.log(4);}, 0);    // 第5行

})()

今天查看事件循环的时候看到这么一句话:setTimeout 的回调函数只是会被添加至任务队列,而不是立即执行。

我想问一下先添加的就先执行(先进先出)吗?还是说会把任务队列里的任务按照延迟时间排序,时间越少的越先执行?那如果第3行和第5行的时间都是1000毫秒呢?哪个先执行?


宝慕林4294392
浏览 396回答 1
1回答

慕容708150

先添加的先进定时器队列。定时器队列里先到时间的先进任务队列。然后任务队列里的先进先出。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript