**
浏览器内核模块组成:(分为主线程和分线程)
**
主线程:
JS引擎模块:
负责JS程序的编译与运行(相对与其他语言来说,JS编译与运行是同时进行的)
html,css文档解析模块:
负责页面文本的解析
DOM/CSS模块:
负责DOM/CSS在内存中的相关处理
布局和渲染模块:
负责页面的布局和效果的绘制
分线程:
定时器模块:负责定时器的管理
DOM事件响应模块:负责事件的管理
网络请求模块:负责ajax请求
事件处理机制:
代码分类:
1、初始化执行代码:
包括绑定DOM监听事件,设置定时器,发送ajax请求
2、回调执行代码:
处理回调执行函数
模型的两个重要组成部分:
事件管理模块
回调队列
模型的运转流程:
1、执行初始化代码,将事件回调函数交给对应的模块管理
2、当事件发生时管理模块会将回调函数及其数据添加到回调队列中
3、只有当初始化代码执行完成后,才会遍历读取回调队列中的回调函数进行执行