详解JavaScript的任务、微任务、队列以及代码执行顺序
摘要: 理解JS的执行顺序。 作者:前端小智 原文:详解JavaScript的任务、微任务、队列以及代码执行顺序 思考下面 JavaScript 代码: console.log("script start"); setTimeout(function() { console.log("setTimeout"); }, 0); Promise.resolve() .then(function() { console.log("promise1"); }) .then(function() { console.log("promise2"); }); console.log("script end"); 控制台打印的顺序是怎样的? 答案 正确的答案是:script start, script end, promise1, promise2, setTimeout,但是由于浏览器实现支持不同导致结果也不一致。 Microsoft Edge、Firefox 40、iOS Safari和桌面Safari 8.0.8 打印promise1 和promise2之前会先打印 setTimeout ——...