javascript面试点
1、判断类型;typeof() instanceof() constructor . http://www.cnblogs.com/flyjs/archive/2012/02/20/2360504.html
2、js代码实现查找关键字高亮显示:split() . http://blog.csdn.net/acess520/article/details/51156356‘
3、不兼容之DOM事件
addEventListener - attachevent
4、事件冒泡、事件捕获阻止:
event.stopPropagation( ); // 阻止事件的进一步传播,包括(冒泡,捕获),无参数
event.cancelBubble = true; // true 为阻止冒泡 IE
ie:window.event.srcElement
标准下:event.target
a.鼠标指针的位置
IE: event.x 与 event.y || FF: event.pageX 与 event.pageY
b. body 对象
FF的 body 在 body 标签没有被浏览器完全读入之前就存在,而IE则必须在 body 完全被读入之后才存在
这会产生在IE下,文档没有载入完时,在body上appendChild会出现空白页面的问题
解决方法:一切在body上插入节点的动作,全部在onload后进行
c.const问题
FF:可以使用const关键字或var关键字来定义常量
IE:只能使用var关键字来定义常量.
解决方法:统一使用var关键字来定义常量
d.parentElement
IE:obj.parentElement
firefox:obj.parentNode
解决方法: 因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择
e.addEventListener
Internet Explorer 8 及更早IE版本不支持 addEventListener() 方法,,Opera 7.0 及 Opera 更早版本也不支持。 但是,对于这些不支持该函数的浏览器,你可以使用 attachEvent() 方法来添加事件句柄
var x = document.getElementById("myBtn");
if (x.addEventListener) { //所有主流浏览器,除了 IE 8 及更早 IE版本
x.addEventListener("click", myFunction);
} else if (x.attachEvent) { // IE 8 及更早 IE 版本
x.attachEvent("onclick", myFunction);
}
f.target,srcelement
IE下,event对象有srcElement属性,但是没有target属性;
Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的
var target = ev.target || ev.srcElement;

浙公网安备 33010602011771号