arguments是函数内置对象,类似数组,但是不具有push、pop等数组方法,所以又不能称之为数组,属于伪数组。
举例:
1.参数:
function test(a, b) {
console.log(arguments, arguments.length)
}
test(1, 2, 2);//输出[1,2] 2
2.递归
var sum = function(x) {
if(x==1) return 1;
else return x + arguments.callee(x-1);
};
console.log(sum(10));//输出55
callee是arguments的一个属性,用来引用当前正在执行的函数,这对未命名的函数调用自身非常有好处。