1. 程式人生 > >web前端性能優化總結

web前端性能優化總結

函數定義 network 繼承 執行 strong bigpipe view pan odin

1em=16px(但不完全是)

em會繼承父元素的字體大小。
ie 部分瀏覽器不支持em。

rem繼承根元素的字體大小html。 px和rem

vue裏面用jq只能在mounted裏面或者updata裏面才可以原因是:dom已經掛載。


什麽是web語義化有什麽好處?

Web語義化是指使用語義恰當的標簽,使頁面有良好的結構,頁面元素有含義,能夠讓人和搜索引擎都容易理解。

web前端性能優化總結:
1、減少http請求,合理設置 HTTP緩存
2、使用瀏覽器緩存
3、在服務器端對文件進行壓縮,在瀏覽器端對文件解壓縮,可有效減少通信傳輸的數據量。如果可以的話,盡可能的將外部的腳本、樣式進行合並,多個合為一個。
4、CSS Sprites
5、LazyLoad Images
6、CSS放在頁面最上部,javascript放在頁面最下面
7、異步請求Callback(就是將一些行為樣式提取出來,慢慢的加載信息的內容)
8、減少cookie傳輸
9、CDN加速 CDN(contentdistribute network,內容分發網絡)的本質仍然是一個緩存

性能優化的具體方法(way)
一)內容層面
1、DNS解析優化(DNS緩存、減少DNS查找、keep-alive、適當的主機域名)
2、避免重定向(/還是需要的)
3、切分到多個域名
4、杜絕404

網絡傳輸階段
1、減少傳輸過程中實體的大小
1)緩存
2)cookie優化
3)文件壓縮(Accept-Encoding:g-zip)

2、減少請求的次數
1)文件適當的合並
2)雪碧圖

3、異步加載(並發,requirejs)
4、預加載、延後加載、按需加載

渲染階段
1、js放底部,css放頂部
2、減少重繪和回流
3、合理使用Viewport 等meta頭部
4、減少dom節點
5、BigPipe

腳本執行階段
1、緩存節點,盡量減少節點的查找
2、減少節點的操作(innerHTML)
3、避免無謂的循環,break、continue、return的適當使用
4、事件委托

this的指向在函數定義的時候是確定不了的,只有函數執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個調用它的對象

web前端性能優化總結