Event quenue
在所有非同步事件如 click、setTimeout、ajax…,都不會立即執行這些行為,而是將這些行為放到 event queue 中,等待事件觸發後再回來執行。
即使是0秒也是會跑到event queue
function doWork() {
var auntie = "漂亮阿姨";
(function () {
console.log('打給阿姨')
setTimeout(function () {
console.log(auntie + '回電')
}, 0) // 修改成 0 秒
})();
// ...
console.log('洗碗');
return '完成事件堆疊';
}
doWork(); // 執行