服務器方面:
提升本身服務器質量,帶寬等方面
開啓瀏覽器緩存,減小http請求
開啓gzip壓縮
使用內容分發網絡cdncss
html界面
css文件放在head,js文件放在html尾部。下載某一個js時其餘任務是暫停的,須要等這個JS下載並執行完畢後再下載其餘的
不適用內聯css
儘可能減小標籤,很少用一個標籤,如clear清除浮動用 :after
js的延遲加載,異步加載,使用defer標籤 、 async="true"
減小dns查詢。每引用一個來自外部的文件,就會有一個dns查詢,通常對首次訪問網站的速度會有影響
避免出現404,下載js時遇到404是很大的問題
避免出現空的src,如 src=""
減小http請求:圖片sprite技術,結合css、js代碼html
代碼方面
項目最後使用壓縮工具壓縮css,js
css的class不要太長,要有清楚的層級關係
js操做樣式時使用class,html裏不使用內聯css和js代碼web
JS的優化
字符串的拼接:使用 += 是較低效的,可以使用數組的 join() 方法
使用循環時尤爲不要使用 for(in),while比for(;;)效率要高一點
局部變量的訪問速度比全局變量更快,並且要儘可能避免全局變量
對DOM元素的每一次操做代價都比較高,因此儘可能少得操做。好比for循環中有對字符串的拼接,而後使用innerHTML操做,就應該把innerHTML放在for循環外面
對某個dom節點進行操做時,將這個dom節點存在一個局部變量中
關於字符串遍歷,優先使用正則表達式
變量類型轉換
把數字轉換成字符串 (""+)>String()>.toString()>newString()
字符串轉換成數字 parseInt()
浮點型和整型之間的轉換 Math.floor()或者Math.round()
使用直接量 var a = [] 比var a = new Array()快
建立dom節點 最好不要直接寫字符串,而應該調用creatElement()方法正則表達式