国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

瀏覽器事件循環(huán)/主線程

2023-03-12 19:19 作者:TongMarsh  | 我要投稿

自查問題

  1. 控制臺(tái)會(huì)打印1嗎,為什么

2. 頁面有個(gè)link,當(dāng)hover時(shí)樣式會(huì)從灰變綠,現(xiàn)在在控制臺(tái)加下面的腳本,會(huì)怎么樣,hover還會(huì)變綠嗎

while (true);

3. 控制臺(tái)的打印

事件循環(huán)圖

我們最終需要理解的目標(biāo)就是上圖。

事件循環(huán)

任務(wù)隊(duì)列有任務(wù)就執(zhí)行。

任務(wù)有如下幾種:

  1. 任務(wù)隊(duì)列: 所有事件,延時(shí)任務(wù)

  2. 微任務(wù): promise回調(diào),mutationObserver

微任務(wù)

特點(diǎn)是:只要當(dāng)前callstack為空,就會(huì)清空微任務(wù)隊(duì)列,因此有可能會(huì)阻塞渲染,永遠(yuǎn)不執(zhí)行renderQueue的任務(wù)

Render Queue

渲染隊(duì)列的任務(wù)就是完成一次渲染,渲染頻率取決于硬件,可以簡單理解每隔16ms,會(huì)向render queue放一個(gè)渲染任務(wù)。

回流

回流是計(jì)算元素布局信息的步驟。當(dāng)頁面resize或者讀取某些屬性時(shí)都會(huì)觸發(fā),這叫做強(qiáng)制回流。需要注意:強(qiáng)制回流會(huì)暫停執(zhí)行js代碼。

比如下面的代碼會(huì)觸發(fā)兩次回流操作

而將讀寫分離開,只會(huì)觸發(fā)一次操作

參考

https://xnim.me/blog/javascript-browser-event-loop-layout-paint-composite-call-stack


瀏覽器事件循環(huán)/主線程的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
青铜峡市| 九龙坡区| 滁州市| 永嘉县| 方正县| 东港市| 曲阜市| 晋州市| 澄江县| 原阳县| 福鼎市| 光泽县| 岳阳市| 乌拉特前旗| 茶陵县| 会同县| 陆河县| 咸丰县| 哈密市| 宜阳县| 界首市| 桃园县| 怀宁县| 盐津县| 汉沽区| 闵行区| 平潭县| 高碑店市| 江安县| 香河县| 库尔勒市| 玉门市| 红河县| 湘阴县| 历史| 桑日县| 高雄县| 兴文县| 湘潭市| 德令哈市| 巴东县|