1. 程式人生 > >前端效能小記

前端效能小記

關注點分離

  • html+css+js

遊覽器差異

  • 使用特性檢測而不是代理嗅探

DOM訪問

  • 避免在迴圈中使用DOM訪問
  • 將DOM引用分配給區域性變數,並使用這些區域性變數
  • 在可能的情況下使用select API
  • 當在HTML容器中反覆使用時,快取重複的次數

操作DOM

  • 儘量減少更新DOM,可以將DOM的改變分批處理,並在文件樹之外執行這些更新
  • 當需要建立一個相對較大的子樹時,應該在其建立之後再新增到DOM樹中
  • 在更新現有DOM部分時,仍然可以批處理。(先克隆現有子樹,然後再克隆樹上操作,然後用克隆樹替換原來的子樹)

事件委託

  • 將事件繫結到dom上級,利用事件流進行操作

長期執行指令碼

  • setTimeout分割
  • web workers應用

遠端指令碼

  • XMLHttpRequest
  • jsonp

配置資源

  • 檔案合併
  • 檔案壓縮

傳輸資源

  • 採用gzip壓縮
  • 設定expiress響應頭
  • 使用cdn網路
  • 通過http塊編碼,分片傳送網頁

載入javascript

  • 應用defer和async
  • 將script標籤置底
  • 動態建立script載入
  • 延遲載入非初始化js
  • 預載入js