前端性能優(yōu)化,無非是html,css,js三方面的優(yōu)化。
html\css\js首先要分開,拒絕內(nèi)聯(lián)等方式,運(yùn)用文件引入的方式
html:
首先就是語義化html,說白了,就是使得標(biāo)簽各司其職,盡量不改變的標(biāo)簽的本質(zhì)屬性,如塊級和行內(nèi)元素的轉(zhuǎn)換盡量要少
塊級元素可以包含塊級以及行內(nèi)元素,而行內(nèi)元素可以包含行內(nèi)元素盡量不要包含塊級元素。
css:
文檔頭部加載
壓縮版本
使用預(yù)處理器,采用預(yù)定義函數(shù)等
不適用@import導(dǎo)入css文件
js:
少使用全局變量、閉包、eval(目前還不太明白這個(gè)的來龍去脈)、with(從來沒用過)
對于for循環(huán)以及條件語句,for循環(huán)可以使用js原生函數(shù)的就使用,若是沒有,從變量上面優(yōu)化,盡量提前定義好變量,拒絕頻繁的定義;數(shù)組能使用forEach()的就使用這個(gè)
對于if等條件語句,可以使用switch,但最好使用對象命名方式,采用三元表達(dá)式的寫法,簡潔、高效、不笨拙
多采用js原生對象和方法,因?yàn)槠浜芏嘣椒ǘ际荂或者C++寫的,運(yùn)行速度很快,如MATH的方法、Date以及Array等
尤其是使用jquery的時(shí)候,拒絕頻繁的調(diào)用DOM對象,做好提前的dom聲明。
可以采用一些優(yōu)化的插件等。
先到這里吧,完畢。