js 为什么要分宏任务和微任务 简单易懂的解释一下
时间: 2023-11-02 16:56:34 浏览: 176
JS事件循环机制event loop宏任务微任务原理解析
JS为了提高执行效率和避免出现页面卡顿现象,引入了宏任务和微任务的概念来管理异步任务的执行。
宏任务是指由浏览器发起的任务,例如:script代码、setTimeout、setInterval、I/O、UI rendering等。这些任务会被放入宏任务队列中,等待JS引擎执行。
微任务是指由JS本身发起的任务,例如:Promise、MutationObserver等。这些任务会被放入微任务队列中,等待宏任务队列中的所有任务执行完毕后执行。
JS引擎在执行完一个宏任务之后,会立即执行所有微任务队列中的任务,然后再去执行下一个宏任务。这样就可以保证所有任务按照正确的顺序执行,避免出现页面卡顿现象。
总之,宏任务和微任务的区分是为了更好地管理异步任务的执行顺序,提高JS的执行效率和用户体验。
阅读全文