1:語意化標籤 (利於搜索引擎收錄 也提升了代碼閱讀性)
2:減小標籤的嵌套 (利於渲染引擎的加速渲染)
3:把script標籤移到HTML文件末尾,由於JS會阻塞後面的頁面的顯示
4:減小iframe的使用,由於iframe會增長一條http請求,阻止頁面加載,即便內容爲空,加載也須要時間
5:減小注釋,由於過多註釋不光佔用空間,若是裏面有大量關鍵詞會影響搜索引擎的搜索。上線的時候最好清空註釋
6:html結構的複用性
複製代碼
1:儘可能不使用通配符(*)
2:把頁面公用的樣式給封裝到css文件裏面(減小代碼量、複用性強、便於維護)
3:不要用內聯樣式和行類樣式(比較亂 維護性比較差)
4:儘可能使用最具體的類別、避免後代選擇器、屬於標籤類別的規則永遠不要包含子選擇器
//由於從左到右解析關係,在CSS選擇器中後代選擇器非但沒有幫咱們加快CSS查找。反而查找很慢
5:能用css實現的樣式就不要用圖片。減小http請求
6:合併壓縮css文件 減小http請求
複製代碼
1:能夠多使用事件委託 減小事件註冊
2:多使用if語句多作判斷 減小沒必要要的操做
3:建立標籤的時候儘可能經過字符串建立,不要經過createElement。由於經過 createElement建立完以後還要再次操做這個dom去設置屬性和文本等。而直接建立字符串只須要一步設置好。
4:設置樣式的時候 儘可能不要用style去設置樣式 維護性 可讀性差 最好添加經過class去設置樣式
5:儘可能少使用eval函數。(使用eval至關於在運行時再次調用解釋引擎對內容進行運行,須要消耗大量時間,並且使用Eval帶來的安全性問題也是不容忽視的。)
6:使用三目運算符替代條件分支能夠減小解釋器對條件的探測次數
7:提升代碼複用性使用封裝。減小代碼量、維護性好。
8:合併壓縮js 減小http請求
複製代碼
1:合併圖片生成雪碧圖 減小http請求
2:圖片小於2KB轉換成base64 經過css去設置 減小http請求
3:圖片壓縮大小
4:若是不考慮兼容問題 能夠經過canvas代替圖片
5:配合js使用懶加載。加載圖片
複製代碼
AMD/CMD/CommonJs是JS模塊化開發的標準,目前對應的實現是RequireJs/SeaJs/nodeJs。CommonJs主要針對服務端,AMD/CMD主要針對瀏覽器端,因此最容易混淆的是AMD/CMD。css
<!--http-equiv顧名思義,至關於http的文件頭做用,
它能夠向瀏覽器傳回一些有用的信息,以幫助正確和精確地顯示網頁內容,
與之對應的屬性值爲content,content中的內容其實就是各個參數的變量值。-->
//Expires(期限)
//說明:能夠用於設定網頁的到期時間。一旦網頁過時,必須到服務器上從新傳輸。
<meta http-equiv="Expires" CONTENT="0">
//Cache-Control指定請求和響應遵循的緩存機制。no-cache指示請求或響應消息不能緩存
<meta http-equiv="Cache-Control" CONTENT="no-cache">
//Pragma(cache模式)
//說明:禁止瀏覽器從本地計算機的緩存中訪問頁面內容。
<meta http-equiv="Pragma" CONTENT="no-cache">。
複製代碼
"www.baidu.com/index.css?timestamp=" + new Date().getTime();
複製代碼
//對應html設置meta標籤
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
複製代碼