JavaScript是手機和網頁應用開發中的通用語言, 由于JavaScript的流行,為了提高應用程式的性能,它的優化變得越來越必要, 讓我們來認識一些與JavaScript相關的挑戰,以及如何優化js的性能,
典型的js性能挑戰
有許多因素會影響JavaScript的性能, 以下是與js性能相關的常見問題:
事件處理質量差:
正確使用事件處理程式可以通過減少呼叫堆疊的深度來提高JavaScript的性能,
跟蹤所有事件處理程式是很重要的,這樣處理程式就不會在您不知道的情況下執行,
無組織的代碼
JavaScript是松散的,這有利有弊,
詞匯構造的分子集允許開發人員實作很多功能, 然而,代碼中缺乏組織可能導致資源分配不足,
這在很大程度上阻礙了JavaScript的性能, 理解ECMA對于理解JavaScript非常重要,
太多的依賴
有時,JavaScript依賴關系管理得很差或過度, 當這種情況發生時,應用的性能將受到負面影響,
例如,帶寬受限的移動用戶將需要等待更長的時間來渲染物件,
低效的迭代
迭代程序需要很長時間, 然而,這也是有益的, 較長的處理時間為JavaScript優化創建了一個完美的起點, 當您修復代碼中不相關的呼叫或回圈時,您的JavaScript性能將大大提高,
js性能優化建議
修剪HTML
JavaScript HTML很復雜,在查詢時間、查詢和修改DOM物件方面起著至關重要的作用,
當你把應用程式的HTML切成兩半時,DOM的速度可能會翻倍, 這可能很困難,但是通過丟棄像<div>和<span>這樣的標簽是可能的,
批處理DOM更改
批處理DOM轉換,以防止重復出現螢屏渲染, 當創建樣式更改時,一次完成所有的更改,而不是對每個樣式單獨應用更改,
學習異步編程的方法
JavaScript應用程式需要對大量api進行多次內部呼叫來獲取資料,
每個函式都需要中間件,因為JavaScript是單執行緒的,
同步組件有時會鎖定整個應用程式, JavaScript使用async.js管理異步代碼,
異步代碼不會阻塞執行緒, 相反,威脅將被硬塞到事件佇列中,該事件佇列在執行其他代碼之后觸發,
使用JavaScript異步特性,可能會無意中利用外部庫來恢復異步干擾呼叫,
這會降低JavaScript的性能, 相反,應該在代碼中使用異步api,尤其是在關鍵的性能部分,
使用gzip壓縮
JavaScript檔案可能非常龐大, 利用GZip來解壓和壓縮檔案, GZip減少延遲時間,提高應用程式性能,并節省帶寬, 使用GZip,服務器在將資源發送到瀏覽器之前對其進行壓縮,
利用HTTP / 2
HTTP的最新版本是HTTP/2,它提高了JavaScript的性能,加快了網站的性能,
HTTP/2利用多路復用,允許同時發送多個回應和請求,
緩沖DOM
如果有可滾動的div,可以使用一個緩沖區來清除當前在視口中不可見的DOM項, 這些技術節省了DOM遍歷和記憶體使用,
限制庫依賴關系
加載時間會影響庫的依賴關系,所以將利用率保持在最低水平是很重要的,
利用外部庫依賴的最好方法是依賴于瀏覽器內技術,
當使用CSS選擇器時,使用Sizzle.js而不是jQuery, 當庫包含單個特性時,單獨添加CSS選擇器是至關重要的,
保持代碼輕巧
保持JavaScript代碼緊湊將減少延遲并提高性能, 當優化JavaScript性能時,問問自己:
- 這個模塊有真正的需求嗎?
- 使用這個框架的原因是什么?
- 開銷值嗎?
- 有更簡單的方法嗎?
通過將多個JS檔案轉換為一個來優化JavaScript性能,
最后
如果對您有幫助,希望能給個👍評論收藏三連!
博主為人老實,無償解答問題哦?
想跟博主交朋友的可以查找,公_號👇:前端老實人,領取更多前后端原始碼及資料~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/389191.html
標籤:其他
