3 回答
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个参数.
相信你能明白了吧.
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个参数.
相信你能明白了吧.
- 3 回答
- 0 关注
- 1336 浏览
添加回答
举报