js中arguments

来源:趣味经验馆 3.15W

arguments是属于js下的一个中函数内置的一个对象,而执行函数方法的实参中的值都存储于arguments中。简单来说,arguments是属于对象的一个特殊属性,arguments对象就好像是数组,但是它却并不是数组。其中argument对象包含了函数调用的参数数组,通过这种方式就能够很便捷的找到最后一个参数的值。

此外,arguments还有着很多的作用,比如实现方法的重载、实现递归等。

js中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

js中arguments 第2张

递归,示例代码介绍如下:

求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);

}

热门标签