js单线程,事件循环,微任务宏任务

本是古典 何须时尚 2023-01-06 13:58 350阅读 0赞

js单线程
js是单线程的语言,所谓“单线程”就是一根筋,对于拿到的程序,一行一行的执行,直到上面的执行为完成,只能做这一件事
## 事件循环:
Event Loop(事件循环)中,每一次循环称为 tick, 每一次tick的任务如下:
执行栈选择最先进入队列的宏任务(通常是script整体代码),如果有则执行
检查是否存在 Microtask,如果存在则不停的执行,直至清空 microtask 队列
更新render(每一次事件循环,浏览器都可能会去更新渲染)
重复以上步骤
微任务,宏任务
在这里插入图片描述
从上图我们可以看出:
1.将所有任务看成两个队列:执行队列与事件队列
2.执行队列是同步的,事件队列是异步的,宏任务放入事件列表,微任务放入执行队列之后事件队列之前
3.当执行完同步代码之后,就会执行位于执行列表之后的微任务,然后在执行事件列表种的宏任务

发表评论

表情:
评论列表 (有 0 条评论,350人围观)

还没有评论,来说两句吧...

相关阅读