javaScript事件执行顺序(学习记录)

javaScript事件执行顺序

想要理解事件执行顺序,就必须了解以下两件事

1.事件循环(不用看内容,知道名字就行)

JavaScript 语言的一大特点就是单线程。所以同一时间只能做一件事,为了解决这个问题,Event Loop方案应运而生。

2.任务队列

根据规范,事件循环是通过任务队列的机制进行协调的的。

宏任务(macrotask)主要包括:script(整体代码)、setTimeout、setInterval、I/O、UI交互事件、postMessage、MessageChannel、setImmediate(Node.js 环境)。

微任务(microtask)主要包括:Promise.then、MutaionObserver、process.nextTick(Node.js 环境)。

执行顺序为:优先按顺序执行--先执行宏任务,同时遇到微任务将其放入微任务队列--第一圈宏任务执行完毕,紧接着执行微任务--执行完微任务,再紧接着执行微任务。

即按顺序循环执行:宏任务->微任务->宏任务->微任务

直到所有事件执行完毕。

练习题及相关资料

从一道题浅说 JavaScript 的事件循环 · Issue #61 · dwqs/blog · GitHub

第 10 题:常见异步笔试题,请写出代码的运行结果 · Issue #7 · Advanced-Frontend/Daily-Interview-Question

posted @ 2020-12-02 10:56  五猫  阅读(504)  评论(0编辑  收藏  举报

载入天数...载入时分秒...