1:語意化標籤 (利於搜尋引擎收錄 也提高了**閱讀性)
2:減少標籤的巢狀 (利於渲染引擎的加速渲染)
3:把script標籤移到html檔案末尾,因為js會阻塞後面的頁面的顯示
4:減少iframe的使用,因為iframe會增加一條http請求,阻止頁面載入,即使內容為空,載入也需要時間
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使用懶載入。載入
複製**
1:產品根據需求做出產品原型 --> 後台
2:ui根據產品原型做設計稿 psd
3:前端是根據設計稿作出頁面
4:整合開發 + 前後臺互動
5:測試-->改bug 1:本地測試 2:灰度(bate)測試 3:線上測試
6:上線-->夜晚12點1: 自己總結一下找到電商**有哪些頁面?
2: 購物車資料一般存在後台。不能用本地儲存,因為換一台瀏覽器的話 本地儲存的資料就用不了。而且商品的**是會改變的。如果用本地儲存,**改變了拿不到最新資料。
3:通過用ping++去實現
amd/cmd/commonjs是js模組化開發的標準,目前對應的實現是requirejs/seajs/nodejs。commonjs主要針對服務端,amd/cmd主要針對瀏覽器端,所以最容易混淆的是amd/cmd。amd/cmd區別
1:amd是預載入,在並行載入js檔案同時,還會解析執行該模組(因為還需要執行,所以在載入某個模組前,這個模組的依賴模組需要先載入完成)。cmd是懶載入,雖然會一開始就並行載入js檔案,但是不會執行,而是在需要的時候才執行。
2:amd載入快速,尤其遇到多個大檔案,因為並行解析,所以同一時間可以解析多個檔案。cmd執行等待時間會疊加。因為每個檔案執行時是同步執行(序列執行),因此時間是所有檔案解析執行時間之和,尤其在檔案較多較大時,這種缺點尤為明顯。
3:amd並行載入,非同步處理,載入順序不一定,可能會造成一些困擾,甚至為程式埋下大坑。cmd因為只有在使用的時候才會解析執行js檔案,因此,每個js檔案的執行順序在**中是有體現的,是可控的1:乙個js檔案用乙個匿名函式自執行。這樣乙個js檔案的變數和函式的作用域只存在這個js檔案中 不會出現汙染
2:乙個js檔案乙個物件包含著變數和方法,使用的時候去呼叫這個物件。
3:使用模組化載入js庫。比如require.js和sea.js1:設定meta標籤禁止快取
//expires(期限)
//說明:可以用於設定網頁的到期時間。一旦網頁過期,必須到伺服器上重新傳輸。
"expires" content="0">
//cache-control指定請求和響應遵循的快取機制。no-cache指示請求或響應訊息不能快取
"cache-control" content="no-cache">
//pragma(cache模式)
//說明:禁止瀏覽器從本地計算機的快取中訪問頁面內容。
"pragma" content="no-cache">。
複製**
2:給靜態資源檔案設定時間戳。每一次請求的檔案不一樣的話 會去伺服器請求最新的資源"www.baidu.com/index.css?timestamp=" + new date().gettime();
複製**
3:伺服器端設定響應頭不快取//對應html設定meta標籤
response.setheader("pragma", "no-cache");
response.setheader("cache-control", "no-cache");
response.setdateheader("expires", 0);
複製**
減少http請求 加快速度。css和js和的壓縮合併
把靜態資源如js、css、都放在cdn上。cdn通過在網路各處放置節點伺服器。會按最近伺服器推送資源給客戶端。
伺服器端把一些介面可以設定瀏覽器快取
將指令碼放在底部。指令碼放在底部對於實際頁面載入的時間並不能造成太大影響,但是這會減少頁面首屏出現的時間,使頁面內容逐步呈現。
HashMap常問的面試題
來看看hashmap經常被問的問題 1 hashmap特性?2 hashmap與hashtable區別?3 hashmap執行緒不安全實際會如何體現?4 hashmap如何變成執行緒安全?5 hashmap的資料結構是什麼?6.1 我們可以使用自定義的物件作為鍵嗎?7 hashmap初始化傳入的容量...
MySQL常問鎖的面試題
鎖 lock 在多人處理同乙個資料的時候,保證每次只有乙個人可以操作。mysql提供了頁鎖 全域性鎖 行鎖 表鎖。其中innodb採用的是行鎖和表鎖,myisam只支援表鎖。是指二個或者二個以上的程序在執行時候,因為爭奪資源造成相互等待的現象,程序一直處於等待中,無法得到釋放,這種狀態就叫做死鎖,批...
C 常考面試題
1.string類的實現 string string const char str else string string const string str string string operator const string str delete m data m data new char st...