前端優化,包括css,jss,img,cookie

前端優化,來自某懶觀看麥子學院視頻的筆記。

  1. 儘量減小HTTP的請求數
  2. 使用CDN
  3. 添加Expirs頭,或者Cache-control
  4. Gzip組件壓縮文件內容
  5. 將CSS放在頁面上方
  6. 將腳本放到頁面下方
  7. 減小CSS中Expressions:只在IE中使用,在css中經過js動態賦值
  8. 將javaScript和CSS獨立成外部文件
  9. 減小DNS查詢
  10. 壓縮javaScript和CSS
  11. 避免重定向
  12. 移除重複的腳本
  13. 配置實體標籤(ETags):客戶端請求文件,服務器讀取文件標籤,若是未修改就直接返回304.
  14. 使用AJAX緩存
  15. 避免空的src href屬性
  16. 儘早地刷新緩衝
  17. 使用get來完成ajax
  18. 延遲加載:分批加載
  19. 預先加載:客戶端緩存js文件等
  20. 減小DOM元素
  21. 避免404頁面
  22. 高效縮寫CSS
  23. bigpipe技術,分層顯示,先出框架,再加載框架內的物體。
  24. 使用 替代@import
  25. 避免使用濾鏡:只在舊版IE中使用,修正圖片問題
  26. CSS無圖片技術:css image(css引入背景圖片比較佔資源,若是用css繪製相似小三角這樣的簡單圖片,則大大減負)
  27. smush.it、轉png格式壓縮圖片大小
  28. 合併和拆分圖片:合併:CSS sprites 將小圖片合成大圖片,再用背景定位顯示圖標。拆分:多線程拆分後下載。
  29. 多域名下載圖片
  30. IE6緩存背景圖片
  31. 預加載圖片
  32. 減少cookie的體積,移除沒必要要的cookie(注意在適應級別上設置cookie,以便子域名不受影響),設置cookie域
  33. 靜態資源使用無cookie域名
  34. 設置合理的cookie過時時間
  35. 優化js循環語句。將length屬性抽取至判斷語句以外。for(in)效率最差,for(;;)=while();
  36. js使用閉包進行緩存
  37. js再也不循環中建立函數。改成抽取函數後調用
  38. js手動消除引用,告訴垃圾回收器。不推薦delete函數,推薦使用=null的方法。
  39. 慎用js全局對象,由於不會被垃圾回收
  40. js綁定的事件不須要後取消綁定。推薦用on,防止屢次綁定
  41. 慎用js閉包,可能會致使內存泄漏
  42. js少用eval,特別是在循環內。json[i][變量]=1這樣的語句不要使用eval
  43. 使用json格式初始化js的對象和數組。而不是new一個。前者引擎直接解釋,後者調用構造器。
  44. js使用Math.floor(),「」+的方示進行類型轉換。Math是內部對象
  45. js使用正則處理字符串比js循環要快,但構建正則對象比較耗時,儘可能抽取後複用。
  46. 存儲時使用對象仍是數組。鍵值對中值多樣,使用對象。其餘使用數組
  47. 數組中對象儘可能一致
  48. 緩存ajax.函數緩存。h5中的sessionStorage(會話級)和localStorage(持久化)
  49. bool值的斷定,經過率越小越往前。
  50. 工具yslow、pagespeed
相關文章
相關標籤/搜索