
Web浏览器中对事件的处理机制。它是基于异步编程模型,运行在JS的引擎之中首先要了解我们所编写的J
JS代码最终是怎么在浏览器中执行的

浏览器是一个复杂的应用程序,运行时候通常包含多个
进程和多个线程,用于执行不同的任务和管理不同的资源
进程是程序执行的基本实体每个线程并行执行不同的任务浏览器的进程和线程
渲染进程负责加载解析和渲染页面内容,每个标签页通常运行在独立的渲染进程中,每个渲染进程都包含多个线程
解释和执行JS代码,将JS代码转换成可执行指令,并按照指令的顺序进行执行
插件进程负责控制网络使用的所有插件
GPU进程负责整个浏览器界面的渲染
在JavaScript中,所有的任务都可以分为
ajax网络请求,setTimeout 定时函数等
异步任务又分为宏任务和微任务
单独执行的任务单元
setTimeout 和 setInterval 的回调函数)Promise 的回调函数Object.ObserverMutaionObserver的回调函数

先进后出的顺序执行待执行的异步任务,任务队列分为宏任务队列和微任务队列
事件循环流程
注意
代码
console.log(1)
setTimeout(() =>
{
console.log(2)
}, 0)
new Promise((resolve, reject) =>
{
console.log('new Promise')
resolve()
}).then(() =>
{
console.log('then')
})
console.log(3)

输出1输出new Promise输出3输出then输出2