JS書寫需注意的點
一、JS書寫程序中減少對閉包的使用
原因:閉包會產生不釋放的堆疊記憶體
替代方案:1,回圈給元素做事件系結的時候,盡量把后期需要的資料(如:索引)系結到元素的自定義屬性上,而不是創建閉包存盤
2,可以在最外層創建一個閉包,把需要的資料進行存盤,而不是一個方法創建一個閉包(如:單例模式)
3,手動釋放不被占用的記憶體
二、避免“嵌套回圈”
原因:會額外增加回圈次數和死回圈
三、盡量使用事件委托,減少DOM的頻繁操作
四、頁面中資料盡量采用異步編程和延遲分批加載
異步編程:減少HTTP通道阻塞,而導致頁面加載不出來
延遲加載:減少首次加載的HTTP請求次數
五、盡量封裝JS方法(低耦合高內聚),減少冗余代碼
六、減少使用eval,代碼壓縮后,可能出現符號不完善的問題
七、盡量使用設計模式來管理代碼(單利、構造、Promise、發布訂閱)
css書寫需注意的點
一、減少css運算式的使用
二、減少選擇器的層級,盡量控制在3個層級
css選擇器決議規則是從右到左決議
減少標簽選擇器的使用
三、css匯入時減少使用@import,因為@import是同步操作,等匯入的內容加載完才會像下渲染,link是異步操作
四、靜態資源放置順序
css放在header內,js放在body最下面
能用css,就不用js,能用原生js就不用插件
css處理影片的性能優于js,而且css中的transform瀏覽器會開啟“硬體加速”
DOM書寫需注意的點
二、減少HTTP請求次數
1,靜態資源進行打包壓縮(webpack構建工具)
2,圖片盡量合成雪碧圖,或者圖片base64
3,icon可以使用iconfont或者svg圖片
4,如果極其要求高性能,可以使用內嵌css和js,減少HTTP請求
5,利用localstorage本地存盤
三、減少DOM的重繪和回流
1,回流的分離讀寫
2,使用檔案碎片/字串拼接動態創建DOM
四、采用圖片“懶加載”
目的:減少頁面第一次加載中http的請求次數
步驟:頁面開始加載,用占位圖占位,當頁面加載完,圖片在可視區內再去發送http請求
五、減少cookie的使用
六:音視瞥澩設定(preload=‘none’),播放時再加載
七、避免使用iframe
八、script參考 添加defer / async 異步加載
九、服務器端渲染
瀏覽器及服務器注意的點
一、利用瀏覽器和服務器的快取技術(304快取)
把不頻繁更新的靜態資源做快取處理(如:JS、CSS、Image)
原理也是減少HTTP請求次數
二、CDN加速
三、開啟服務端的gzip壓縮(減少請求資源檔案大小)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/500017.html
標籤:其他
