arguments对象被用于函数中,它类似于函数参数组成的数组,但它具有不同于数组的额外属性。
即使实参个数超过形参个数,多余的参数依然可以通过该对象访问。
function maxNum()

...{
var m = Number.NEGATIVE_INFINITY; //负无穷大
for(var i=0;i<arguments.length;i++)

...{//遍历每个参数
if(arguments[i] > m)
m = arguments[i];
}
return m;
}

var largest = maxNum(1,10,-19,100,999999,89);
document.write("largest=" + largest + "<br/>");

function f1(x)

...{
document.write("x=" + x + "<br/>");
arguments[0] = "New"; //改变x的值
document.write("x=" + x + "<br/>");
}

f1("Old");
/*arguments对象的callee属性,它指代当前对象的所属函数*/
function factorial(x)

...{
if(x <= 1)
return 1;
return x*arguments.callee(x-1); //调用函数本身
}

document.write("5!=" + factorial(5));
即使实参个数超过形参个数,多余的参数依然可以通过该对象访问。


































