開心生活站

位置:首頁 > IT科技 > 

js中arguments

IT科技3.2W

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

}

標籤:js arguments