1 HTML
1.1 為什么利用多個(gè)域名來(lái)存儲(chǔ)網(wǎng)站資源會(huì)更有效?
- CDN緩存更方便
- 突破瀏覽器并發(fā)限制
- 節(jié)約cookie帶寬
- 節(jié)約主域名的連接數(shù),優(yōu)化頁(yè)面響應(yīng)速度
- 防止不必要的安全問(wèn)題
1.2 src 與 href區(qū)別
src用于替換當(dāng)前元素,href用于在當(dāng)前文檔和引用資源之間確立聯(lián)系。
src是source的縮寫(xiě),指向外部資源的位置,指向的內(nèi)容將會(huì)嵌入到文檔中當(dāng)前標(biāo)簽所在位置;在請(qǐng)求src資源時(shí)會(huì)將其指向的資源下載并應(yīng)用到文檔內(nèi),例如js腳本,img圖片和frame等元素。
<script src ="js.js"></script>
當(dāng)瀏覽器解析到該元素時(shí),會(huì)暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢,圖片和框架等元素也如此,類(lèi)似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)。這也是為什么將js腳本放在底部而不是頭部。
href是Hypertext Reference的縮寫(xiě),指向網(wǎng)絡(luò)資源所在位置,建立和當(dāng)前元素(錨點(diǎn))或當(dāng)前文檔(鏈接)之間的鏈接,如果我們?cè)谖臋n中添加
<link href="common.css" rel="stylesheet"/>
那么瀏覽器會(huì)識(shí)別該文檔為css文件,就會(huì)并行下載資源并且不會(huì)停止對(duì)當(dāng)前文檔的處理。這也是為什么建議使用link方式來(lái)加載css,而不是使用@import方式。
1.3 rgba()和opacity的透明效果有什么不同?
opacity作用于元素,以及元素內(nèi)的所有內(nèi)容的透明度。
而rgba()只作用于元素的顏色或其背景色。(設(shè)置rgba透明的元素的子元素不會(huì)繼承透明效果?。?/p>
JS題目
1.1 對(duì)象深拷貝
var isArray = Array.isArray || function (arr) {
return Object.prototype.toString.call(arr) === '[object Array]';
};
var isObj = function (obj) {
return Object.prototype.toString.call(obj) === '[object Object]';
};
function clone (val) {
if (isArray(val)) {
var res = [];
var len = val.length;
for (var index =0; index < len; index++) {
res[index] = clone(val[index]);
}
return res;
} else if (isObj(val)) {
var res = {};
for (var key in val) {
res[key] = clone(val[key]);
}
return res;
} else {
return val;
}
}