arguments js
- IT科技
- 關注:1.03W次
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);
}
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zh-mo/dianzi/q8xgwo.html