html層級(jí)優(yōu)化
減少HTML的層級(jí)嵌套
減少空標(biāo)簽、無用標(biāo)簽的濫用
減少標(biāo)簽中style的使用,增加復(fù)用性,維護(hù)起來更加高效、簡便。
css層級(jí)優(yōu)化
樣式繼承與復(fù)用
避免同一類名多次渲染
少用高優(yōu)先級(jí)選擇器,慎用!Important
偽類選擇器的妙用
不要使用層級(jí)過深的css選擇器
避免float濫用
css雪碧圖
可以使用media query媒體查詢,減少使用window.resize。window.resize不斷重繪和重排,非常消耗性能,有時(shí)會(huì)造成死循環(huán)效果,導(dǎo)致頁面卡死,崩潰
javascript層級(jí)優(yōu)化
用好定時(shí)器:大多數(shù)定時(shí)器影響性能因?yàn)槭褂貌磺‘?dāng)(一些動(dòng)畫實(shí)現(xiàn)使瀏覽器過于頻繁地重排、重繪),不用的內(nèi)容及時(shí)清除,避免重復(fù)生成clearInterval
事件綁定:
多利用事件委托代理:document.querySelector(“ul”).addEventListener(“click”,function(e){
})
避免重復(fù)的事件監(jiān)聽
事件冒泡機(jī)制
事件冒泡是瀏覽器默認(rèn)的行為,就是說事件會(huì)從被觸發(fā)的那一層的具體元素開始,逐級(jí)往父級(jí)元素傳播,直到document或window。冒泡所需的時(shí)間更短
資源加載優(yōu)化
http緩存
加載模式
懶加載:按需加載
分頁加載
css預(yù)處理及壓縮
javascript代碼壓縮處理
Base64的妙用:小圖不能合并到雪碧圖的,使用base64
圖片壓縮
屏蔽開發(fā)時(shí)的調(diào)試,日志代碼
合理利用sessionStorage和localStorage
瀏覽器請(qǐng)求并發(fā)性限制:常見的限制是6條
減少和后端交互請(qǐng)求數(shù)
前端負(fù)責(zé)展示,后端負(fù)責(zé)數(shù)據(jù)處理。(js是單線程的,后端語言大多數(shù)是多線程的 )