一. html doctype 是什麼意思
<!DOCTYPE> 聲明不是 HTML 標籤;它是指示 web 瀏覽器關於頁面使用哪個 HTML 版本進行編寫的指令。
二. 閉包的作用
1是前面提到的讀取函數內部的變量,定製函數
2是讓這些變量的值保存在內存中,實現數據共享
1匿名自執行函數
2緩存
3實現封裝
4 閉包的另一個重要用途是實現面向對象中的對象,傳統的對象語言都提供類的模板機制,
http://blog.csdn.net/sunlylorn/article/details/6534610
三. 數組去重
Array.prototype.unique2 = function()
{
varn = {},r=[]; //n爲hash表,r爲臨時數組
for(vari = 0; i < this.length; i++) //遍歷當前數組
{
if(!n[this[i]]) //如果hash表中沒有當前項
{
n[this[i]]= true; //存入hash表
r.push(this[i]);//把當前數組的當前項push到臨時數組裏面
}
}
returnr;
}
四. ajax跨域請求
代理、jsonp(動態生成、靜態生成、框架)
五. BFC清除浮動
說一下自己的拙見,clear:left屬性只是消除其左側div浮動對它自己造成的影響,而不會改變左側div甚至於父容器的表現,在父容器看來,三個div還都是float的,所以高度依舊塌陷。但是我們在最後添加了一個非浮動的div,由於它有clear:left屬性,所以它會按照左側div不浮動來定位自己,也就是定位到下一行,而父容器看到有一個非浮動、普通流的子元素元素,會將其包圍,這樣造成了順便也把三個浮動元素也包裹起來的效果,高度不再塌陷(不知道說明白沒有或者這種理解對不對,還望明白的同學指點)。
float爲 left|right
overflow爲 hidden|auto|scroll
display爲 table-cell|table-caption|inline-block
position爲 absolute|fixed
我們可以對父容器添加這些屬性來形成BFC達到“清浮動”效果
六. html語義化
清晰的結構、手機瀏覽器自動適配、有利於SEO、便於開發維護
七. 如何讓首屏快速加載
第一網絡方面:
減少次數:合併圖片、css、js、加入expires或cache-control header ETags、css js外部文件用來緩存、延遲加載
減少大小:壓縮html css js,啓用gzip壓縮,精簡css js
優化網絡:靜態資源cdn、同域名減少dns
第二渲染方面:
避免空src、href、重定向
css放頂部 js放尾部
避免使用css表達式
Ajax使用緩存、 Get代替Post
減少dom元素數量
減少cookies大小
不用濾鏡
縮小並緩存favicon.ico
第三高級方面:
img有大小的標明 避免圖片放縮
display: none visibility:hidden
關注repaint和reflow並持續改進
八. 如何無阻塞加載腳本
1.放網頁底部
2.defer屬性
3.動態添加
4.用很小的初始化代碼引入,然後異步加載
5.延遲加載
6.第三方庫LABs
九. 如何編寫跨瀏覽器css
IE hack
十. JS單例模式