DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。

1.创建新节点

  createDocumentFragment()

  createElement()

  createTextNode()

2.添加、移除、替换

  appendChild()

  removeChild()

  replaceChild()

  insertBefore()

3.查找

  getElementsByTagName()

  getElementsByName()

  getElementById()

---------------------------------------------------------------------
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。

1.冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。

  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 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。

3.DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。

  DOM事件模型最独特的性质是,文本节点也触发事件(在IE中不会)。

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

事件处理函数/监听函数

IE:

在IE中,每个元素和window对象都有两个方法:attachEvent()和detachEvent()。事件处理函数总是按照添加它们的顺序进行调用。

DOM:

DOM方法addEventListener()和removeEventListener()用来分配和移除事件处理函数。与IE不同,这些方法需要三个参数:事件名称,要分配的函数和处理函数是用于冒泡阶段还是捕获阶段。如果事件处理函数是用于捕获阶段,第三个参数为true;用于冒泡阶段,则为false。

如果使用addEventListener()将事件处理函数加入到捕获阶段,则必须在removeEventListener()中指明是捕获阶段,才能正确的将这个事件处理函数删除。

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

事件对象

在IE中,事件对象是window对象的一个属性event,event对象只能在事件发生时访问。所有的事件处理函数执行完毕后,事件对象就被销毁。

DOM标准,event对象必须作为唯一的参数传递给事件处理函数。

区别:

1.获取目标:位于事件中心的对象称为目标

  在IE中,目标包含在event对象的srcElement属性中:var oTarget = oEvent.srcElement;

  在DOM兼容的浏览器中,目标包含在target属性中:var oTarget = oEvent.target;

2.获取字符代码

3.阻止某个事件的默认行为

  在IE中要阻止某个事件的默认行为,必须将returnValue属性设置为false:oEvent.returnValue = false;

  在Mozilla中,只要调用preventDefault()方法:oEvent.preventDefault();

 4.停止事件复制(冒泡)

  IE:oEvent.cancelBubble = true;

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

XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。

XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。

 

<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>

 

 

------------------------------------------------------------------------------------------- 
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。

在标准模式中,浏览器根据规范呈现页面;

在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。

浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法。如果XHTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML 4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。

-------------------------------------------------------------------------------------------
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。

 
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。

 


浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。

 


HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。

 
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

JSON建构于两种结构:
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

posted on 2010-12-08 19:25  sleep  阅读(666)  评论(0编辑  收藏  举报