事件循环(Event Loop)
一、是什么
事件循环是 JS 处理异步任务的核心机制。
二、核心结构
调用栈 + 任务队列
三、任务分类
1. 宏任务(Macro Task)
- setTimeout
- setInterval
- DOM事件
2. 微任务(Micro Task)
- Promise.then
- queueMicrotask
四、执行顺序(重点🔥)
同步代码 → 微任务 → 宏任务
五、经典面试题
console.log(1);
setTimeout(() => {
console.log(2);
}, 0);
Promise.resolve().then(() => {
console.log(3);
});
console.log(4);
//输出:1 4 3 2
六、执行流程
- 执行同步代码(1 4)
- 执行微任务(3)
- 执行宏任务(2)
七、总结
事件循环本质:“任务调度机制(同步 + 异步)”