关于浏览器兼容性代码疑问
# 具体遇到的问题
关于兼容浏览器的代码中,
1. 定义 var EventUtil={},{}是为什么?
2. addHandler:function(element,type,handler){}, 这里使用 name:function(){} 是怎么回事,调用的时候为什么是 EventUtil.addHandler(){}?
3. addHandler:function(element,type,handler){}与removeHandler: function(element,type,handler){}之间能够逗号隔开是必须的吧,为什么?
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
var EventUtil = {
addHandler:function(element,type,handler){
//绑定事件
//Chrome Firefox IE9等 addEventListener
//IE8及IE8以下的浏览器 attachEvent
if(element.addEventListener){
element.addEventListener(type,handler,false);
}else if (element.attachEvent) {
element.attachEvent("on"+ type,handler);
} else{
element["on"+type] = handler
}
},
removeHandler: function(element,type,handler){
//移除事件
//Chrome Firefox IE9等
//IE8及IE8以下的浏览器
if(element.removeEventListener){
element.removeEventListener(type,handler,false);
}else if (element.detachEvent) {
element.detachEvent("on"+type,handler);
} else{
element["on"+type] = handler
}
}
}
正在回答
同学你好,问题解答如下:
1.var EventUtil={}中花括号{}表示定义了一个对象,对象中可以定义属性和方法(方法即函数)。属性和属性值使用冒号隔开,示例:
如上a是一个属性名,属性值为1。
2.name:function(){} 这是定义一个方法,方法即函数。示例:
3.如果想要获取属性或者方法,需要使用 “对象.属性名”的语法。而方法是一个特殊的属性,因为它是函数,所以需要加括号调用方法才可以。示例:
注意调用方法时,不需要加花括号。
4.没错,需要使用冒号隔开,这个没有为什么,是固定的语法。对象中保存的叫做键值对,键值对就是 key:value 的格式。
上面都是对象的基本语法,因为在后面才会学到,所以先了解一下。学习到后面,就能理解了哦。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星