代碼層面:避免使用css表達(dá)式,避免使用高級(jí)選擇器,通配選擇器。
緩存利用:緩存Ajax,使用CDN,使用外部js和css文件以便緩存,添加Expires頭,服務(wù)端配置Etag,減少DNS查找等
請(qǐng)求數(shù)量:合并樣式和腳本,使用css圖片精靈,初始首屏之外的圖片資源按需加載,靜態(tài)資源延遲加載。
請(qǐng)求帶寬:壓縮文件,開(kāi)啟GZIP
細(xì)說(shuō)代碼層面的優(yōu)化
用hash-table來(lái)優(yōu)化查找
少用全局變量
用innerHTML代替DOM操作,減少DOM操作次數(shù),優(yōu)化javascript性能
用setTimeout來(lái)避免頁(yè)面失去響應(yīng)
緩存DOM節(jié)點(diǎn)查找的結(jié)果
避免使用CSS Expression
避免全局查詢(xún)
避免使用with(with會(huì)創(chuàng)建自己的作用域,會(huì)增加作用域鏈長(zhǎng)度)
多個(gè)變量聲明合并
避免圖片和iFrame等的空Src。空Src會(huì)重新加載當(dāng)前頁(yè)面,影響速度和效率
盡量避免寫(xiě)在HTML標(biāo)簽中寫(xiě)Style屬性