- css放在前面,JS放在后面
【href和src的區(qū)別】
一般加載CSS用href,并放在頭部;加載script用src,放在body內(nèi)的下方。
【href】
是hypertext reference的縮寫,表示超文本引用,用來(lái)建立當(dāng)前元素和文檔間的鏈接。常用的有l(wèi)ink,a。
當(dāng)CSS使用href引用,瀏覽器會(huì)識(shí)別該文檔問CSS,(并行下載,不會(huì)停止對(duì)當(dāng)前文檔的加載)。
【 src】
是source的縮寫,是資源,頁(yè)面必不可少的一部分,src指向的內(nèi)容會(huì)嵌入到文檔中當(dāng)前標(biāo)簽的位置。常用的有img, script, iframe。 (當(dāng)script使用src引用,瀏覽器解析到該元素時(shí)會(huì)停止對(duì)文檔的渲染,直到該資源加載完成。這也是將script放底部而不是頭部的原因。)
【 把CSS放頭部,script放下方的原因】
CSS放頭部
在加載html生成DOM tree的時(shí)候,就可以同時(shí)對(duì)DOM tree進(jìn)行渲染。
這樣可以防止閃跳,白屏或者布局混亂。
javascript放在后面
javascript可能會(huì)改變DOM tree的結(jié)構(gòu),所以需要一個(gè)穩(wěn)定的DOM tree。
javascript加載后會(huì)立即執(zhí)行,同時(shí)會(huì)阻塞后面的資源加載。(javascript加載和執(zhí)行的特點(diǎn))
使用懶加載(圖片懶加載,下拉加載更多)
減少DOM查詢,對(duì)DOM查詢做緩存;
減少DOM操作,多個(gè)操作盡力合并在一起執(zhí)行;