Web性能是客觀的衡量指標(biāo),也是加載時間和運(yùn)行時用戶的感知和體驗(yàn)。
Web性能是網(wǎng)站加載,交互和響應(yīng)所需的時間,以及用戶交互過程中內(nèi)容的平滑程度。
許多功能會影響性能,包括延遲,應(yīng)用程序大小,DOM節(jié)點(diǎn)數(shù),發(fā)出的資源請求數(shù),JavaScript性能,CPU負(fù)載等。
如何提升Web性能?
可以放在循環(huán)外部的語句 或 賦值將使循環(huán)運(yùn)行更快。
在下面的示例中,每次循環(huán)時,我們都訪問數(shù)組的length屬性:
for (let i = 0; i < arr.length; i++) {測試看看?/?
在下面的示例中,我們在循環(huán)外部訪問length屬性,并使循環(huán)運(yùn)行更快:
let size = arr.length; for (let i = 0; i < size; i++) {測試看看?/?
與其他JavaScript語句相比,訪問HTML DOM的速度非常慢。
如果需要多次訪問DOM元素,請?jiān)L問一次,并將其用作局部變量。
將腳本放在頁面正文的底部,使瀏覽器可以首先加載頁面。
在下載腳本時,瀏覽器將不會啟動任何其他下載,并且所有解析和渲染活動都可能被阻止。
一種代替方法是在腳本標(biāo)記中使用defer="true"。該延遲該腳本應(yīng)的頁面后執(zhí)行屬性指定已完成解析,但它僅適用于外部腳本。
with關(guān)鍵字被認(rèn)為是“雞肋”,因?yàn)樗嬖谝恍┓浅A钊司趩实娜毕荨?/p>
盡管 with簡化了處理本地屬性的過程,但是使用with會增加在其他作用域中查找變量的開銷。
with嚴(yán)格模式下不允許使用關(guān)鍵字。
通過組合外部文件并將JavaScript直接包含在HTML頁面中,從而最小化呈現(xiàn)頁面的HTTP請求。
每次唯一的HTTP訪問服務(wù)器時,都會導(dǎo)致大量延遲。
重復(fù)的腳本將對性能產(chǎn)生重大影響。重復(fù)的腳本將在HTTP上創(chuàng)建不必要的請求,尤其是在IE瀏覽器中。
盡管該eval()函數(shù)是運(yùn)行任意代碼的好方法,但是傳遞給eval函數(shù)的每個字符串都必須即時進(jìn)行解析和執(zhí)行。每次執(zhí)行到達(dá)eval函數(shù)調(diào)用時,都產(chǎn)生開銷。