为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

芜湖不芜 2019-02-12 14:10:03
evnt=evnt || window.event;怎么理解?
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

问题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个参数.

相信你能明白了吧.



查看完整回答
反对 回复 2019-03-18
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

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

查看完整回答
反对 回复 2019-03-18
?
手掌心

TA贡献1942条经验 获得超3个赞

问题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个参数.

相信你能明白了吧.



查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 1280 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信