黄片视频日逼飞机场|草草视频在线观看|日韩一级无码视频|99页中文字幕|丁香五月天久操视频|亚洲和欧洲SM视频|综合久久资源探花|亚洲天堂牛牛牛牛牛牛|欧洲天堂色色五月|男女高清一区二区三区

英泰移動通信教育

7x24小時咨詢熱線

400-660-3310

當前位置 : 好學校 英泰移動通信教育 學習資訊 資訊詳情

如何優(yōu)化前端性能(六):性能更好的API

2021-12-06

web前端

1、用對選擇器

選擇器的性能排序如下所示,盡量選擇性能更好的選擇器

id選擇器(#myid)

類選擇器(.myclassname)

標簽選擇器(div,h1,p)

相鄰選擇器(h1+p)

子選擇器(ul > li)

后代選擇器(li a)

通配符選擇器(*)

屬性選擇器(a[rel="external"])

偽類選擇器(a:hover,li:nth-child)

2、使用requestAnimationFrame來替代setTimeout和setInterval

希望在每一幀剛開始的時候?qū)撁孢M行更改,目前只有使用 requestAnimationFrame 能夠**這一點。使用 setTimeout 或者 setInterval 來觸發(fā)更新頁面的函數(shù),該函數(shù)可能在一幀的中間或者結(jié)束的時間點上調(diào)用,進而導致該幀后面需要進行的事情沒有完成,引發(fā)丟幀

3、使用IntersectionObserver來實現(xiàn)圖片可視區(qū)域的懶加載

傳統(tǒng)的做法中,需要使用scroll事件,并調(diào)用getBoundingClientRect方法,來實現(xiàn)可視區(qū)域的判斷,即使使用了函數(shù)節(jié)流,也會造成頁面回流。使用IntersectionObserver,則沒有上述問題

4、使用web worker

客戶端javascript一個基本的特性是單線程:比如,瀏覽器無法同時運行兩個事件處理程序,它也無法在一個事件處理程序運行的時候觸發(fā)一個計時器。Web Worker是HTML5提供的一個javascript多線程解決方案,可以將一些大計算量的代碼交由web Worker運行,從而避免阻塞用戶界面,在執(zhí)行復雜計算和數(shù)據(jù)處理時,這個API非常有用

但是,使用一些新的API的同時,也要注意其瀏覽器兼容性

收藏
分享到:

相關(guān)課程

相關(guān)資訊

英泰移動通信教育

英泰移動通信教育

認證等級

信譽良好,可安心報讀

英泰移動通信教育

已獲好學校V2信譽等級認證

信譽值

  • (60-80)基礎(chǔ)信譽積累,可放心報讀
  • (81-90)良好信譽積累,可持續(xù)信賴
  • (91-100)充分信譽積累,推薦報讀

與好學校簽訂讀書保障協(xié)議:

  • 100%
  • 59
  • 3754
在線咨詢
官方授權(quán)聲明

尊敬的平臺會員您好,[英泰移動通信教育]資質(zhì)文件正在審核中。如需了解[英泰移動通信教育]服務(wù)明細或申請試聽服務(wù),
請點擊:聯(lián)系客服。

;