五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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)遵守國家法律
荔波县| 鄂尔多斯市| 华容县| 和龙市| 广东省| 寻甸| 康马县| 甘洛县| 光山县| 吴桥县| 越西县| 瓮安县| 鄂托克旗| 搜索| 措勤县| 宁阳县| 邯郸市| 镇巴县| 泗水县| 车致| 合阳县| 包头市| 赤水市| 鄯善县| 阜阳市| 威信县| 娄烦县| 古田县| 丹寨县| 临桂县| 海口市| 高青县| 琼中| 新丰县| 沁水县| 砚山县| 吉安县| 海林市| 崇信县| 怀仁县| 嘉兴市|