面試題(DAT)

1.什么是盒子模型?
盒子模型有兩種,標(biāo)準(zhǔn)盒子模型和IE盒子模型。
標(biāo)準(zhǔn)盒子模型:width = content + padding + border + margin
IE盒子模型:content 包括了 padding 和 border

2.簡(jiǎn)述一下src與href的區(qū)別?
簡(jiǎn)要:
1.src 是指向物件的來(lái)源地址,是引入。在 img、script、iframe 等元素上使用。
2.href 是超文本引用,指向需要連結(jié)的地方,是與該頁(yè)面有關(guān)聯(lián)的,是引用。在 link和a 等元素上使用。
3.src通常用作“拿取”(引入),href 用作 "連結(jié)前往"(引用)。
詳細(xì):
href標(biāo)識(shí)超文本引用,用在link和a等元素上,href是引用和頁(yè)面關(guān)聯(lián),是在當(dāng)前元素和引用資源之間建立聯(lián)系。
src表示引用資源,表示替換當(dāng)前元素,用在img,script,iframe上,src是頁(yè)面內(nèi)容不可缺少的一部分。src是source的縮寫(xiě),是指向外部資源的位置,指向的內(nèi)部會(huì)遷入到文檔中當(dāng)前標(biāo)簽所在的位置;在請(qǐng)求src資源時(shí)會(huì)將其指向的資源下載并應(yīng)用到當(dāng)前文檔中,例如js腳本,img圖片和frame等元素。
如<script src = 'example.js'></script>當(dāng)瀏覽器解析到這一句的時(shí)候會(huì)暫停其他資源的下載和處理,直至將該資源加載,編譯,執(zhí)行完畢,圖片和框架等元素也是如此,類似于該元素所指向的資源嵌套如當(dāng)前標(biāo)簽內(nèi),這也是為什么要把js放在底部而不是頭部。

如<link href = 'common.css' rel = 'stylesheet'>當(dāng)瀏覽器解析到這一句的時(shí)候會(huì)識(shí)別該文檔為css文件,會(huì)下載并且不會(huì)停止對(duì)當(dāng)前文檔的處理,這也是為什么建議使用link方式來(lái)加載css而不是使用@import。
補(bǔ)充:link和@import的區(qū)別
區(qū)別1:link是XHTML標(biāo)簽,除了加載CSS外,還可以定義RSS等其他事務(wù);@import屬于CSS范疇,只能加載CSS。
區(qū)別2:link引用CSS時(shí),在頁(yè)面載入時(shí)同時(shí)加載;@import需要頁(yè)面網(wǎng)頁(yè)完全載入以后加載。
區(qū)別3:link是XHTML標(biāo)簽,無(wú)兼容問(wèn)題;@import是在CSS2.1提出的,低版本的瀏覽器不支持。
區(qū)別4:ink支持使用Javascript控制DOM去改變樣式;而@import不支持。

3.簡(jiǎn)述同步和異步的區(qū)別?
簡(jiǎn)單來(lái)說(shuō),可以改變程序正常執(zhí)行順序的操作就是異步操作。
SetTimeout 和 SetInterval 就是一種簡(jiǎn)單的異步函數(shù)。
所有任務(wù)可以分成兩種,一種是同步任務(wù),另一種是異步任務(wù)。同步任務(wù)指的是,在主線程上排隊(duì)執(zhí)行的任務(wù),只有前一個(gè)任務(wù)執(zhí)行完畢,才能執(zhí)行后一個(gè)任務(wù);異步任務(wù)指的是,不進(jìn)入主線程、而進(jìn)入“任務(wù)隊(duì)列”的任務(wù),只有等主線程任務(wù)執(zhí)行完畢,“任務(wù)隊(duì)列”開(kāi)始通知主線程,請(qǐng)求執(zhí)行任務(wù),該任務(wù)才會(huì)進(jìn)入主線程執(zhí)行。
異步運(yùn)行機(jī)制如下:
所有同步任務(wù)都在主線程上執(zhí)行,形成一個(gè)執(zhí)行棧。
主線程之外,還存在一個(gè)任務(wù)隊(duì)列。只要異步任務(wù)有了運(yùn)行結(jié)果,就在“任務(wù)隊(duì)列”中放置一個(gè)事件。
一旦“執(zhí)行棧”中的所有同步任務(wù)執(zhí)行完畢,系統(tǒng)就會(huì)讀取“任務(wù)隊(duì)列”,看看里面有哪些事件。那些對(duì)應(yīng)的異步任務(wù),于是結(jié)束等待裝袋,進(jìn)入執(zhí)行棧,開(kāi)始執(zhí)行。
主線程不斷重復(fù)以上三步。

4.怎樣添加、移除、移動(dòng)、復(fù)制、創(chuàng)建和查找節(jié)點(diǎn)?
(1)創(chuàng)建新節(jié)點(diǎn)
createDocumentFragment()//創(chuàng)建一個(gè)DOM片段
createElement()//創(chuàng)建一個(gè)具體的元素
createTextNode()//創(chuàng)建一個(gè)文本節(jié)點(diǎn)
(2)添加、移除、替換、插入
appendChild()
removeChild()
replaceChild()
insertBefore()
(3)查找
getElementsByTagName()//通過(guò)標(biāo)簽名稱
getElementsByName()//通過(guò)元素的Name屬性的值
getElementById()//通過(guò)元素Id,唯一性
注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,796評(píng)論 1 92
  • ?前端面試題匯總 一、HTML和CSS 21 你做的頁(yè)面在哪些流覽器測(cè)試過(guò)?這些瀏覽器的內(nèi)核分別是什么? ...
    Simon_s閱讀 2,228評(píng)論 0 8
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    前端進(jìn)階之旅閱讀 114,759評(píng)論 24 450
  • 請(qǐng)參看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,179評(píng)論 2 19
  • 1. 瀏覽器頁(yè)面有哪三層構(gòu)成,分別是什么,作用是什么? 構(gòu)成:結(jié)構(gòu)層、表示層、行為層分別是:HTML、CSS、Ja...
    程序猿人王小賤閱讀 1,894評(píng)論 1 11