showcase14: ?https://github.com/FE-star/showcase14
showcase7: https://github.com/FE-star/showcase7
JIT
js沒有編譯器
js是邊解析邊執(zhí)行
https://zhuanlan.zhihu.com/p/41130608
JIT的好處是高頻執(zhí)行的代碼(優(yōu)化)可以編譯執(zhí)行
try catch影響性能尘颓,為什么呢客蹋?
獲取時(shí)間戳的方式:
1.Date.now() //最快
2.(new Date()).getTime() //中等
3.(new Date()).valueOf()//中等
4.+new Date() //最慢鞭光,因?yàn)橛蓄愋娃D(zhuǎn)換
去空格彰导,trim的性能好于replace
原生提供的方法往往性能更好鞭莽,原生的可能不是js實(shí)現(xiàn)的,有可能是C++實(shí)現(xiàn)的
indexOf比正則查找字符時(shí)更快
for in 會(huì)遍歷原型的屬性嗎轨帜?转锈?
節(jié)流 防抖?
showcase7: https://github.com/FE-star/showcase7
https://developers.google.cn/web/fundamentals/performance/rendering/
setTimeout setInterval在執(zhí)行的時(shí)候會(huì)受程序的其它代碼影響,導(dǎo)致執(zhí)行時(shí)間過長(zhǎng)而延遲尤误,這時(shí)采用requestAnimation就能很好的避免這種情況
https://www.cnblogs.com/wzz1020/p/6402390.html
https://developers.google.cn/web/fundamentals/performance/rendering/optimize-javascript-execution
改高度寬度侠畔,采用該class的這種方式去改高度寬度,因?yàn)榧觕lass減class只有一次性的操作损晤,如果用js腳本就會(huì)有兩三次操作了
MTU 最大傳輸單元软棺,指一個(gè)包的大小,不是帶寬
參考值14.6KB尤勋,特別是第一個(gè)請(qǐng)求喘落,小于14.6KB的時(shí)候可以把其它一些請(qǐng)求也依賴進(jìn)去(比如通過base64把圖片放進(jìn)去),而且第一個(gè)請(qǐng)求要求最好就是小于14.6KB否則要分兩次或者多次最冰,影響體驗(yàn)了瘦棋。
建議壓縮后文件大小小于14.6KB,大于14.6KB會(huì)分多次傳輸
8B=1b暖哨,大寫的B和小寫的b不一樣哦
jpg 格式赌朋,兩種格式,如果用戶上傳的是baseline格式,可以讓后臺(tái)處理成progressive格式
1.baseline 這種是一點(diǎn)點(diǎn)加載沛慢,一開始就是清晰赡若,只是顯示的圖少
2.progressive(漸進(jìn)式),推薦用這種团甲,這種是模糊到清晰
協(xié)議層面的優(yōu)化
QUIC http2
它們做的主要事情包含:1.壓縮請(qǐng)求頭 2.多路復(fù)用 3.逾冬。。伐庭。
QUIC是基于UDP的