日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端一些面试问题3

發(fā)布時間:2023/12/13 HTML 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端一些面试问题3 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DOM結(jié)構(gòu)——兩個節(jié)點之間可能存在哪些關(guān)系以及如何在節(jié)點之間任意移動。
DOM操作——怎樣添加、移除、移動、復(fù)制、創(chuàng)建和查找節(jié)點。

1.創(chuàng)建新節(jié)點

? createDocumentFragment()

? createElement()

? createTextNode()

2.添加、移除、替換

? appendChild()

? removeChild()

? replaceChild()

? insertBefore()

3.查找

? getElementsByTagName()

? getElementsByName()

? getElementById()

---------------------------------------------------------------------
事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。

1.冒泡型事件:事件按照從最特定的事件目標到最不特定的事件目標(document對象)的順序觸發(fā)。

? IE 5.5: div -> body -> document

? IE 6.0: div -> body -> html -> document

? Mozilla 1.0: div -> body -> html -> document -> window

2.捕獲型事件(event capturing):事件從最不精確的對象(document 對象)開始觸發(fā),然后到最精確(也可以在窗口級別捕獲事件,不過必須由開發(fā)人員特別指定)。

3.DOM事件流:同時支持兩種事件模型:捕獲型事件和冒泡型事件,但是,捕獲型事件先發(fā)生。兩種事件流會觸及DOM中的所有對象,從document對象開始,也在document對象結(jié)束。

? DOM事件模型最獨特的性質(zhì)是,文本節(jié)點也觸發(fā)事件(在IE中不會)。

------------------------------------------------------------------------

事件處理函數(shù)/監(jiān)聽函數(shù)

IE:

在IE中,每個元素和window對象都有兩個方法:attachEvent()和detachEvent()。事件處理函數(shù)總是按照添加它們的順序進行調(diào)用。

DOM:

DOM方法addEventListener()和removeEventListener()用來分配和移除事件處理函數(shù)。與IE不同,這些方法需要三個參數(shù):事件名稱,要分配的函數(shù)和處理函數(shù)是用于冒泡階段還是捕獲階段。如果事件處理函數(shù)是用于捕獲階段,第三個參數(shù)為true;用于冒泡階段,則為false。

如果使用addEventListener()將事件處理函數(shù)加入到捕獲階段,則必須在removeEventListener()中指明是捕獲階段,才能正確的將這個事件處理函數(shù)刪除。

-------------------------------------------------------------------------------

事件對象

在IE中,事件對象是window對象的一個屬性event,event對象只能在事件發(fā)生時訪問。所有的事件處理函數(shù)執(zhí)行完畢后,事件對象就被銷毀。

DOM標準,event對象必須作為唯一的參數(shù)傳遞給事件處理函數(shù)。

區(qū)別:

1.獲取目標:位于事件中心的對象稱為目標

? 在IE中,目標包含在event對象的srcElement屬性中:var oTarget = oEvent.srcElement;

? 在DOM兼容的瀏覽器中,目標包含在target屬性中:var oTarget = oEvent.target;

2.獲取字符代碼

3.阻止某個事件的默認行為

? 在IE中要阻止某個事件的默認行為,必須將returnValue屬性設(shè)置為false:oEvent.returnValue = false;

? 在Mozilla中,只要調(diào)用preventDefault()方法:oEvent.preventDefault();

?4.停止事件復(fù)制(冒泡)

? IE:oEvent.cancelBubble = true;

? mozilla: oEvent.stopPropagation();
------------------------------------------------------------------------------------------

XMLHttpRequest——這是什么、怎樣完整地執(zhí)行一次GET請求、怎樣檢測錯誤。

XMLHttpRequest 對象提供了在網(wǎng)頁加載后與服務(wù)器進行通信的方法。

?

<script type="text/javascript">
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp
=null;
if (window.XMLHttpRequest)
{
// code for all new browsers
xmlhttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// code for IE5 and IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange
=state_Change;
xmlhttp.open(
"GET",url,true);
xmlhttp.send(
null);
}
else
{
alert(
"Your browser does not support XMLHTTP.");
}
}

function state_Change()
{
if (xmlhttp.readyState==4)
{
// 4 = "loaded"
if (xmlhttp.status==200)
{
// 200 = OK
// ...our code here...
}
else
{
alert(
"Problem retrieving XML data");
}
}
}
</script>

?

?

-------------------------------------------------------------------------------------------?
嚴格模式與混雜模式——如何觸發(fā)這兩種模式,區(qū)分它們有何意義。

在標準模式中,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁面;

在混雜模式中,頁面以一種比較寬松的向后兼容的方式顯示。

瀏覽器根據(jù)DOCTYPE是否存在以及使用的哪種DTD來選擇要使用的呈現(xiàn)方法。如果XHTML文檔包含形式完整的DOCTYPE,那么它一般以標準模式呈現(xiàn)。對于HTML 4.01文檔,包含嚴格DTD的DOCTYPE常常導(dǎo)致頁面以標準模式呈現(xiàn)。包含過渡DTD和URI的DOCTYPE也導(dǎo)致頁面以標準模式呈現(xiàn),但是有過渡DTD而沒有URI會導(dǎo)致頁面以混雜模式呈現(xiàn)。DOCTYPE不存在或形式不正確會導(dǎo)致HTML和XHTML文檔以混雜模式呈現(xiàn)。

-------------------------------------------------------------------------------------------
盒模型——外邊距、內(nèi)邊距和邊框之間的關(guān)系,IE 8以下版本的瀏覽器中的盒模型有什么不同。

?
塊級元素與行內(nèi)元素——怎么用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應(yīng)該如何定義它們的樣式。

?


浮動元素——怎么使用它們、它們有什么問題以及怎么解決這些問題。

?


HTML與XHTML——二者有什么區(qū)別,你覺得應(yīng)該使用哪一個并說出理由。

?
JSON——它是什么、為什么應(yīng)該使用它、到底該怎么使用它,說出實現(xiàn)細節(jié)來。

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。

JSON建構(gòu)于兩種結(jié)構(gòu):
“名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組 (associative array)。
值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數(shù)組(array)。

轉(zhuǎn)載于:https://www.cnblogs.com/sweetie/archive/2010/12/08/1900578.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的前端一些面试问题3的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。