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

 

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

 

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

 

 

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

①使定時(shí)器讓出時(shí)間片段

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

如:

我想了解如何學(xué)習(xí)

姓名:
手機(jī):
留言:
 
<span id="ltgjo"><small id="ltgjo"></small></span>