1.所谓的事件循环指的就是js编译器解析与执行代码的规则(解析如下)
首先js代码分为同步和异步,浏览器会率先执行同步代码,将异步代码放入任务队列中稍后执行,而异步代码又分为宏任务和微任务,在同步代码全部执行完成后会先执行异步微任务再执行异步宏任务(如下)
/*
1. 事件循环(Event Loop)是什么 : js编译器 解析 与 执行 代码的规则
js代码分为两大类:
1. 同步代码 2.异步代码:
2.1异步宏任务
事件处理函数
ajax
定时器
2.2 异步微任务
promise的then
async/await
*/
2. 事件循环规则 :
1.从上往下'解析'代码
2.判断代码是同步还是异步
3.如果是同步代码,立即执行
4.如果是异步代码,不会立即执行.微任务就放入微任务队列,宏任务就会放入宏任务队列
5.等到所有同步代码执行完毕才会执行异步
6.先执行异步队列中的微任务,再来执行宏任务,完成本次事件循环
7.按照上面的重复规则执行函数
3.来一个例子: