关于浏览器兼容性代码疑问

关于浏览器兼容性代码疑问

# 具体遇到的问题
关于兼容浏览器的代码中,

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

同学你好,问题解答如下:

1.var EventUtil={}中花括号{}表示定义了一个对象,对象中可以定义属性和方法(方法即函数)。属性和属性值使用冒号隔开,示例:

http://img1.sycdn.imooc.com//climg/5fc84a3409801a0302230068.jpg

如上a是一个属性名,属性值为1。

2.name:function(){} 这是定义一个方法,方法即函数。示例:

http://img1.sycdn.imooc.com//climg/5fc84ad2099b2d5104250118.jpg

3.如果想要获取属性或者方法,需要使用 “对象.属性名”的语法。而方法是一个特殊的属性,因为它是函数,所以需要加括号调用方法才可以。示例:

http://img1.sycdn.imooc.com//climg/5fc84b6309b9d29105080228.jpg

注意调用方法时,不需要加花括号。

4.没错,需要使用冒号隔开,这个没有为什么,是固定的语法。对象中保存的叫做键值对,键值对就是 key:value 的格式。


上面都是对象的基本语法,因为在后面才会学到,所以先了解一下。学习到后面,就能理解了哦。

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师