js arguments是怎样的呢?下面就让我们一起来了解一下吧:
arguments是属于js下的一个中函数内置的一个对象,而执行函数方法的实参中的值都存储于arguments中。简单来说,arguments是属于对象的一个特殊属性,arguments对象就好像是数组,但是它却并不是数组。其中argument对象包含了函数调用的参数数组,通过这种方式就能够很便捷的找到最后一个参数的值。
此外,arguments还有着很多的作用,比如实现方法的重载、实现递归等。
参考范例:
利用arguments实现方法的重载,代码如下:
function add() {
var len = arguments.length,
sum = 0;
for(;len--;){
sum += arguments[len];
}
return sum;
}
console.log( add(1,2,3) ); //6
console.log( add(1,3) ); //4
console.log( add(1,2,3,5,6,2,7) ); //26
递归,示例代码介绍如下:
求1到n的自然数之和,代码为:
function add(n){
if(n == 1) return 1;
else return n + arguments.callee(n-1);
}
其实callee对于没有命名的函数调用自身时是很有用的,例如对于没有命名的函数求1到n自然数之和,代码如下:
var result = function(x){
if(x == 1) return 1;
return x+arguments.callee(x-1);
}
以上就是小编的分享了,希望能够帮助到大家。