減少HTTP請求的次數或者請求內容大小
頁面中每傳送一次請求,都會完成請求+響應這個完成的HTTP事務,會消耗效能,造成HTTP連結通道阻塞
-
1.採用雪碧圖(CSS Split/CSS 圖片精靈)
-
2.真實專案中,我們最好把CSS或者JS檔案合併壓縮
-
3.採用圖片懶載入(
擴充:資料懶載入
)
1.開始載入頁面的時候,我們只把首屏或者前兩屏的資料從伺服器端進行請求
2.當頁面下拉,滾動到哪個區域,在把這個區域進行請求,再加上延遲載入
3.分頁技術(分頁展示技術採用的也是是資料的懶載入思想實現的)
複製程式碼
採用CDN加速
CDN:分散式(地域分散式)
關於編寫程式碼的一些優化
- 1.在編寫的JS程式碼的時候,儘量減少對DOM的操作
【DOM弊端】
1.DOM存在對映機制(JS中的DOM元素物件和頁面中的DOM結構是存在對映機制的)
2.頁面中DOM結構改變或者樣式改變,會觸發瀏覽器的迴流,(對DOM結構重新進行獲取),會觸發DOM的重繪
複製程式碼
- 2.編寫程式碼的時候,更多的使用非同步程式設計
同步程式設計會導致上面東西玩不成,下面任務也做不了 我們開發的時候可以把某一個區域的模組設定為非同步程式設計,這樣只要模組之間沒有必然的先後順序,都可以獨立進行載入,不會受到上面模組的堵塞影響 尤其是Ajax的請求資料,我們一般都使用非同步程式設計,最好是基於promise設計模式進行管理
-
3.在真實專案中,我們儘可能避免一次性迴圈過多資料,尤其是避免while導致的死迴圈
-
4.CSS選擇器優化
1.儘量減少標籤選擇器的使用
2.儘可能少用ID標籤,多使用樣式類選擇器(通用性強)
3.減少選擇器前面的字首
4.儘量使用CSS3動畫,CSS動畫都開啟了硬體加速
-
5.避免使用CSS表示式
-
6.減少頁面中的冗餘程式碼,儘可能提高方法的重複使用率:‘低耦合 高內聚’
-
7.最好CSS放在head中,JS放在BODY尾部,讓頁面載入的時候,先載入CSS,再載入JS
-
8.避免使用eval
1.效能消耗大
2.程式碼壓縮後,容易出現程式碼錯亂問題
複製程式碼
-
9.儘量減少閉包的使用
-
10.善於使用事件委託
-
11.編寫程式碼儘可能使用設計模式來構建體系
-
12.CSS中減少對濾鏡的使用
SEO優化技巧
-
1.頁面中杜絕出現死連結(404頁面)(伺服器處理)
-
2.避免瀏覽器中異常錯誤的丟擲
-
3.增加關鍵詞優化
-
4.對於不經常更新的資料,最好採用瀏覽器的304快取做處理
-
5.使用字型圖示代替一些頁面中的位置
擴充套件:
- 如果當前頁面中出現了AUDIO或者VIDEO標籤,我們最好設定它們的
preload=true:頁面載入的時候,音訊視訊資源不進行載入,播放的時候進行載入
preload=auto preload=metadata
- 在客戶端和伺服器端進行資料通訊的時候,我們儘量使用JSON格式進行資料傳輸