成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

快速網(wǎng)站的簡單JavaScript性能優(yōu)化技巧

開發(fā) 前端
JavaScript 可以提供高度交互的網(wǎng)站,以 HTML 單獨無法做到的方式積極吸引用戶。但是,增加的參與度會帶來性能成本,如果允許失控,可能會對網(wǎng)站的可用性產(chǎn)生負(fù)面影響。

如果你的網(wǎng)站速度很慢,并且認(rèn)為頁面中嵌入的邏輯可能是原因,那么你可以使用以下五個 JavaScript 性能優(yōu)化技巧來為用戶加快速度。

1.減少onReady事件的數(shù)量

一旦加載了 HTML 頁面并應(yīng)用了所有 CSS 選擇器,就會觸發(fā) onReady 事件。通常,開發(fā)人員會在此處放置初始化頁面組件和啟動各種 JavaScript 函數(shù)所需的邏輯。

然而,隨著時間的推移,開發(fā)人員傾向于向頁面添加越來越多的 onReady 事件。在故障排除例程中,通常會添加 onReady 事件來解決問題,但不會在解決問題時將其刪除。其他時候,與給定 Web 組件關(guān)聯(lián)的 HTML 會從頁面中刪除,但相應(yīng)的 onReady 事件不會,這會導(dǎo)致多余的 JavaScript 不必要地消耗時鐘周期。此外,onReady 事件通常被編碼到一個通用的 JavaScript 文件中,該文件在每次頁面加載時都會運行,即使該函數(shù)僅在少數(shù)幾個頁面上需要。

2. 使用 let not var

當(dāng)使用 var 關(guān)鍵字聲明 JavaScript 變量時,它在整個頁面的全局范圍內(nèi),并在頁面的整個生命周期中維護(hù)在內(nèi)存中。但是,當(dāng)使用 let 關(guān)鍵字聲明變量時,將應(yīng)用塊范圍。因此,該變量會在塊執(zhí)行后從內(nèi)存中刪除。

如果 Ajax 響應(yīng)、JSON 數(shù)據(jù)或 XML 等長文本字符串保存在全局變量中,瀏覽器會很快耗盡可尋址內(nèi)存,這將嚴(yán)重影響頁面性能。一個非常容易實現(xiàn)的 JavaScript 性能優(yōu)化技巧就是用 let 替換代碼中的每個 var。

3. 縮小合并

如果你的網(wǎng)頁鏈接到多個 JavaScript 庫,一個快速簡單的優(yōu)化方法是將所有這些 JavaScript 庫合并到一個文件中。

當(dāng) JavaScript 加載時,它會阻止其他資源的下載,例如圖像、JSON 和 CSS 文件。并且由于瀏覽器允許與 Internet 建立的外部連接數(shù)量有限,如果你引用了七個或八個外部 JavaScript 文件,你可能會完全阻止下載可能用于呈現(xiàn)內(nèi)容的其他資源顯示在首屏之上。通過將所有 JavaScript 組合到一個文件中,只使用一個外部連接,這允許瀏覽器同步下載其他資源。

另一種減小 JavaScript 文件大小的簡單方法是對它們應(yīng)用最小化程序,例如 JSCompress。最小化器會去除空格和不必要的文本元素,從而減小 JavaScript 文件的大小。反過來,這優(yōu)化了 JavaScript 文件的下載時間。將多個 JavaScript 文件合并為一個以減少傳出網(wǎng)絡(luò)連接的數(shù)量。

4. 不要重新發(fā)明 JavaScript API

JavaScript 有幾個內(nèi)置的 API,允許對集合或數(shù)組進(jìn)行高效的迭代。使用 Array 的原型構(gòu)造函數(shù),你可以使用類似 lambda 的語法將函數(shù)應(yīng)用于列表中的所有項目或執(zhí)行操作,例如排序或反轉(zhuǎn)。

這些內(nèi)置方法非常高效,并由瀏覽器進(jìn)行了優(yōu)化。但是,一些開發(fā)人員并不了解這些方法,而是編寫迭代循環(huán)來達(dá)到相同的目的。

無需自己重新發(fā)明這些函數(shù)式方法。這不僅浪費時間,而且還引入了不必要的 JavaScript 性能問題。

5. 在服務(wù)器上執(zhí)行密集邏輯

將計算操作卸載到客戶端的能力是客戶端計算的一個關(guān)鍵優(yōu)勢,但客戶端渲染也可能會給功率不足的手持設(shè)備帶來巨大的負(fù)載。

例如,如果渲染圖表或電子表格需要大量計算,并且該計算導(dǎo)致 JavaScript 性能問題,請考慮將其移動到服務(wù)器并簡單地將內(nèi)容作為預(yù)先計算的 HTML 交付給客戶端。瀏覽器在靜態(tài) HTML 顯示上比在復(fù)雜的、內(nèi)存密集型的 JavaScript 函數(shù)運行上要高效得多。

JavaScript 是在最終用戶訪問你的網(wǎng)站時更好地參與和保留他們的關(guān)鍵,但是開發(fā)人員應(yīng)該始終意識到涉及 JavaScript 時對性能的影響。注意這五個 JavaScript 性能優(yōu)化技巧,以幫助你的 Web 開發(fā)團(tuán)隊避免一些常見的網(wǎng)站性能陷阱。


責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2009-04-16 16:57:58

DotNetNuke優(yōu)化網(wǎng)站開發(fā)

2020-03-25 08:00:32

Kubernetes節(jié)點工作

2022-01-09 23:06:39

JavaScript

2010-05-28 10:23:59

JavaScriptWeb

2011-06-28 15:14:10

ASP.NET性能優(yōu)化

2024-09-26 08:36:11

JavaScript性能優(yōu)化

2024-12-02 14:28:17

JavaScriptWeb開發(fā)

2011-09-29 09:50:44

JavaScript

2016-10-21 16:05:44

SQLSQL SERVER技巧

2020-12-17 07:52:38

JavaScript

2019-08-21 10:53:29

.NET性能優(yōu)化

2012-03-12 09:33:04

JavaScript

2009-06-16 16:39:49

Hibernate性能

2024-09-14 11:23:19

2013-06-08 14:19:05

性能優(yōu)化KVM

2011-07-11 15:26:49

性能優(yōu)化算法

2019-01-14 08:06:37

JavaScript

2012-07-23 10:22:15

Python性能優(yōu)化優(yōu)化技巧

2009-12-09 17:33:22

PHP性能優(yōu)化

2019-02-25 07:07:38

技巧React 優(yōu)化
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩在线不卡 | 久久成人免费 | 91精品国产美女在线观看 | 祝你幸福电影在线观看 | 精品国产91久久久久久 | 国产999精品久久久久久 | 蜜桃精品噜噜噜成人av | 91久久精品一区二区二区 | 国产最新网址 | 狠狠亚洲| 国产精品国产三级国产播12软件 | 成人av在线播放 | 精品国产欧美 | 北条麻妃av一区二区三区 | 伊人久久在线 | 亚洲成av人片在线观看无码 | 亚洲一区 中文字幕 | 亚洲成人日韩 | 国产精品久久久久久久久久久久午夜片 | 欧美亚洲视频 | 一区二区三区视频在线观看 | 国产日韩精品久久 | 日韩中文字幕 | 狠狠av | 国内自拍偷拍视频 | 久久精品国产一区二区电影 | 日韩成人 | 欧美二区在线 | 亚洲黄色网址视频 | 久久com| 国产亚洲精品久久久久动 | 日韩综合| 一区二区三区免费 | 成人高潮片免费视频欧美 | 国产精品伦理一区二区三区 | 日韩在线观看视频一区 | 日韩午夜 | 蜜桃臀av一区二区三区 | 美女国产精品 | 亚洲成a| 91精品国产综合久久精品图片 |