JavaScript 事件循环的核心要点如下:单线程与多线程结合:JavaScript 在浏览器中运行是单线程的,但浏览器本身是多线程的。异步任务在其他线程中执行,不阻塞主 JS 线程。事件驱动机制:事件循环的核心是事件驱动机制,包括事件触发、任务选择和任务执行。事件可以由用户操作触发,也可以由程序自动触发。执行栈与任务队列:同步代码按顺序排入执行栈执行。异步任务完成后,回调被放入任务队列等待执行。宏任务与微任务:宏任务:包括 setTimeout、setInterval 和事件处理器等,每次事件循环开始时执行。微任务:包括 promise.then 和 process.nextTick 等,优先级高于宏任务,在每个事件循环的末尾执行,直到微任务队列为空。执行顺序:同步代码首先执行。然后执行所有已完成的微任务。最后执行一个宏任务。浏览器与 NodeJS 的差异:浏览器中的事件循环由浏览器引擎管理,而 NodeJS 中的事件循环由 Libuv 库实现。两者在实现细节上有所不同,但最终表现基本一致,都遵循宏任务和微任务的执行顺序。优化与面试:理解事件循环原理有助于准确分析异步代码的执行顺序,从而优化代码执行效率。在面试中,掌握事件循环相关知识可以显著提高通过率,增强自信心。