猿问

evnt=evnt || window.event;怎么理解?

evnt=evnt || window.event;怎么理解?


芜湖不芜
浏览 1337回答 3
3回答

POPMUISE

问题1,JS是弱类型的语言,你的理解是对的,var evnt=evnt ||window.event;等同于var evnt=evnt?evnt||window.event;就象很多代码里可以看到function abc(obj){if(obj)//如果obj是一个对象,返回true,否则(比如是null或undefined)返回false}问题2,JS的函数有个特性,就是参数可以定义,也可以不定义,即使定义了也可以不用,比如:function abc(str){alert(1);}上面这个函数,你直接调用abc();也可以执行,没有任何错误.function abc(str){alert(str);}这个函数如果不用参数就会出错了,因为代码里使用了str这个参数,所以调用abc("1112")没有问题,但是调用abc()就不行了.还有:function abc(){if(arguments.length>1){alert(arguments[0]);}if(arguments.length>2){alert(arguments[1]);}}上面这个函数没有定义任何参数,你可以试试:调用:abc();//不传参调用:abc('11');//一个参数调用:abc('11','22');//2个参数.相信你能明白了吧.

吃鸡游戏

1,var evnt=evnt ||window.event是为了兼容FF等MOZ浏览器2,对,是获得这个事件的对象,可以通过这个对象获得鼠标坐标,页面等属性

手掌心

问题1,JS是弱类型的语言,你的理解是对的,var evnt=evnt ||window.event;等同于var evnt=evnt?evnt||window.event;就象很多代码里可以看到function abc(obj){if(obj)//如果obj是一个对象,返回true,否则(比如是null或undefined)返回false}问题2,JS的函数有个特性,就是参数可以定义,也可以不定义,即使定义了也可以不用,比如:function abc(str){alert(1);}上面这个函数,你直接调用abc();也可以执行,没有任何错误.function abc(str){alert(str);}这个函数如果不用参数就会出错了,因为代码里使用了str这个参数,所以调用abc("1112")没有问题,但是调用abc()就不行了.还有:function abc(){if(arguments.length>1){alert(arguments[0]);}if(arguments.length>2){alert(arguments[1]);}}上面这个函数没有定义任何参数,你可以试试:调用:abc();//不传参调用:abc('11');//一个参数调用:abc('11','22');//2个参数.相信你能明白了吧.
随时随地看视频慕课网APP
我要回答