在javascript中可以用arguments对象判断传递给函数的参数个数,即可模拟函数重载:
function toAdd(){
if(arguments.length==1){
return arguments[0]+5;
}else if(arguments.length==2){
return arguments[0]+arguments[1];
}
}
toAdd(10); //15
toAdd(20,30);//50
用arguments可以得到传入的参数个数,和每个参数是什么:
function text(){
//参数的个数arguments.length
for(var i=0;i<arguments.length;i++){
alert(arguments[i]); //弹出每个参数
}
}
ECMAScript不会验证传递给函数的参数个数是否等于函数定义的参数个数,定义的函数可以接受任意个数的参数(根据Netscape文档,最多可接受25个参数),而不会引发任何错误。任何遗漏的参数都会已undefined传递给参数,多余的参数将会被忽略。
如果需要确定函数中实际有多少个参数,可以用函数名.length的方法来获取。
JavaScript 函数重载与 arguments 对象使用
本文介绍在 JavaScript 中如何通过 arguments 对象实现函数重载,以灵活处理不同数量的参数,并讨论 ECMAScript 如何处理函数参数个数不匹配的情况。
203

被折叠的 条评论
为什么被折叠?



