js高级_浏览器的事件循环(轮循)模型


1、所有代码分类

初始化代码(同步代码):包含绑定dom事件监听,设置定时器,发送 ajax请求的代码。

回调执行代码(异步代码):处理回调逻辑。

2、js引擎执行代码的基本流程:

初始化代码--->回调代码

3,模型的2个重要组成部分:

①、事件管理模块(包括定时器管理模块/DOM事件管理模块/Ajax管理模块)。

②、回调队列

4,模型的运转流程

执行初始化代码,将事件回调函数交给对应模块管理。

当事件发生时,管理模块会将回调函数及其数据添加到回调列队中。

只有当初始化代码执行完后(可能需要一定时间,因为可能有alert弹窗暂停主线程),才会遍历读取回调队列中的回调函数执行。

事件驱动模型

也就是下面图的执行流程

请求响应模型

就是请求响应过程