1 DOM 的节点操作中,appendChild 和 insertBefore 方法的区别是什么。

参考答案:

appendChild(newNode):为某节点追加子节点,即将参数 newNode 作为新节点添加为父节点的最后一个子节点;

insertBefore(newNode,refNode):为某节点插入子节点,即将参数 newNode 作为新节点插入到父节点的原有子节点 refNode 之前,实现有位置选择性的加入子节点。

2 如何在js代码中,获取 event 对象并读取相关信息?

参考答案:

可以在 HTML 页面或者 js 代码中使用 event 关键字直接获取 event 对象,但是考虑到浏览器兼容问题,建议在页面元素的事件句柄定义中,使用 event 关键字将事件对象作为参数传入 js 中的方法,代码如下所示:

<input type="button" value="获取 event 对象" onclick="getEventData(event);" />

在 js 代码中,使用参数接收 event 对象,代码如下所示:

function getEventData(eObj){
		//参数 eObj 用于接收传入的 event 对象
}

获得 event 对象后,可以使用 event对象的相关属性获取事件的信息,其中,最重要的信息就是获取触发事件的元素对象。在IE 等浏览器中,使用event.srcElement属性即可获得该元素节点;而在Firefox 浏览器中,需要使用event.target属性获取。因此,考虑到浏览器兼容问题,往往使用如下代码获取:

var node = eObj.srcElement || eObj.target;

3 简述三种创建对象的方式。

参考答案:

  1. 1、创建对象的实例:使用 Object 对象,并封装属性和方法;
  2. 2、创建对象的模板:定义构造函数,以创建自定义对象并封装属性和方法;
  3. 3、JSON:使用 JSON 的语法方式创建。