arguments对象

ECMAScript函数不介意传递进来多少参数,也不会因为参数不统一而错误。实际上,函数体内可以通过arguments对象来接收传递进来的参数 .


Function box(){
return arguments[0]+'|'+arguments[1]; //得到每次参数的值
}
alert(box(1,2,3,4,5,6)); //传递参数

arguments对象的length属性可以得到参数的数量。

function box(){
return arguments.length; //得到6
}
alert(box(1,2,3,4,5,6));

我们可以利用length这个属性,来智能的判断有多少参数,然后把参数进行合理的应用。比如,要实现一个加法运算,将所有传进来的数字累加,而数字的个数又不确定。

function box(){
var sum=0;
if(arguments.length==0) return sum; //如果没有参数,退出
for(var i=0;i<arguments.length;i++){ //如果有,就累加
sum=sum+arguments[i];
}
return sum; //返回累加结果
}
alert(box(5,9,12));

ECMAScript中的函数,没有像其他高级语言那种函数重载功能。

function box(num){
return num+100;
}
function box(num){ //会执行这个函数
return num+200;
}
alert(box(50)); //返回结果

 

posted @ 2017-05-04 23:47  代码小精灵  阅读(199)  评论(0编辑  收藏  举报