web前端性能優化總結
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前端性能優化總結