前端效能小記
阿新 • • 發佈:2018-11-07
關注點分離
- 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