JS的事件循环机制是为了解决JS单线程问题。由于JS解析引擎是和页面渲染共用一个线程,所以JS执行过程中一直是单线程的,而单线程会阻塞代码的执行效率。为了不影响JS的执行效率,便将一些耗时操作定义为异步任务,等待后续被唤醒回调。事件循环起了调度这些异步任务的作用,一旦调用栈执行完毕,事件循环机制就会按触发顺序将异步任务放入调用栈中继续执行。异步任务分为宏任务和微任务,宏任务和微任务的区别是它们的执行时机,微任务在页面重绘前必须执行完毕,而宏任务在重绘后执行。所以事件循环的调度机制可以描述为:宏任务->清空微任务队列->页面重绘->下一个宏任务。常见的宏任务有:1.定时器:setTimeout,setTimeinterval,requestAnimationFrame 2.网络I/O:XMLHttpRequest.send,fetch,axios 3.事件监听函数 4.script脚本 常见的微任务有:1.promise.then 2.await
JS继承的几种方式
最新推荐文章于 2024-08-08 23:04:40 发布
本文深入探讨了JavaScript的事件循环机制,旨在解决单线程执行中可能遇到的阻塞问题。通过异步任务的划分,如宏任务和微任务,确保了页面的流畅运行。宏任务包括定时器、网络I/O和事件监听等,而微任务如Promise.then和await则在页面重绘前执行。理解这一机制对于优化JavaScript性能至关重要。
摘要由CSDN通过智能技术生成