Arguments的使用
Arguments是伪数组,可以获取函数中传入的参数.
不是数组对象,不能直接调用数组的方法,可通过call或者apply调用.
可以通过设定length动态改变arguments长度.
例:
function avg(){
var num =0,l = 0;
for(var i = 0;i<arguments.length;i++){
if(typeof arguments[i] != "number")
continue;
num += arguments[i];
l++;
}
num /= l;
return num;
}
alert(avg(1,2,3,4));
alert(avg(1,2,"3",4));
arguments的callee属性为获取对当前函数的引用
例:
function f(a,b,c){
var m = arguments.length;
var n = arguments.callee.length;
if(m != n){
alert("error!")
}else{
return a+b+c;
}
}
alert(f(2,2,4));