用于執(zhí)行JavaScript和更新用戶界面的進(jìn)程通常被稱為“瀏覽器UI線程”。JavaScript和用戶界面更新在同一個進(jìn)程中運行,因此一次只能處理一件事情。

 

·任何JavaScript任務(wù)都不應(yīng)當(dāng)執(zhí)行超過100毫秒,過長的運行時間導(dǎo)致UI更新出現(xiàn)明顯延遲,從而會影響用戶體驗。

 

·瀏覽器有兩類限制JavaScript任務(wù)的運行時間的機(jī)制,調(diào)用棧大小限制(即記錄自腳本開始以來執(zhí)行的語句的數(shù)量)和長時間運行腳本限制(記錄腳本執(zhí)行的總時長,超時的時候會有彈框提示用戶[chrome沒有單獨的程云霞腳本限制,替代做法是依賴其通用奔潰檢測系統(tǒng)來處理此類問題])。

 

 

一些優(yōu)化JavaScript任務(wù)時間的常見做法:

①使定時器讓出時間片段

1.使用定時器處理數(shù)組。當(dāng)處理過程不須同步,數(shù)據(jù)不須按順序處理時。即可考慮用定時器分解任務(wù)。

如:

網(wǎng)友評論