本文主要和大家分享js引擎的执行机制详解,希望能帮助到大家。
首先,请牢记 2 点:
js 是单线程语言
js 中的 event loop 是 js 的执行机制。...这样想,js 为什么被设计成单线程应该就容易理解了吧。
js 为什么需要异步?
场景描述;
如果 js 中不存在异步,只能自上而下执行,如果上一行解析时间很长,那么下面的代码就会被阻塞。...3);// 输出 1 3 2
也就是说,setTimeout 里的函数并没有立即执行,而是延迟了一段时间,满足一定条件后,才去执行的,这类代码,我们叫异步代码。...});
console.log("代码执行结束");
用之前总结的 js 执行机制去分析:
setTimeout 是异步任务,放在 event table中new promise是同步任务,被放到主线程中...3);// 输出 1 3 2
也就是说,setTimeout 里的函数并没有立即执行,而是延迟了一段时间,满足一定条件后,才去执行的,这类代码,我们叫异步代码。