1. 程式人生 > >函式的引數arguments物件

函式的引數arguments物件

1、函式的引數arguments 物件

-- arguments 表示函式的實際引數(與形參無關)

// js中 函式的引數:形參、實參
function test(a,b,c,d){
// 函式名.length 等價於 arguments.callee.length,因為arguments.callee代表函式本身, 程式開發中建議使用後者
console.log(test.length); // 4 ,函式形式引數的數量

// 函式的實際引數,內部就是用一個數組去接收函式的實際引數
// arguments 物件 可以訪問函式的實際引數
// arguments 物件 只能在函式的內部訪問和使用
console.log(arguments.length); // 獲取 函式 的實參 的數量 test(10,20) 輸出為:2
console.log(arguments[0]); // 獲取第一個 實參 的值 test(10,20) 輸出為:10
console.log(arguments[1]); // 獲取第二個 實參 的值 test(10,20) 輸出為:20
}
test(10,20);

2、callee函式(回撥函式屬性)

-- arguments 物件的祕密屬性,callee屬性

--這個屬性比較奇怪,它能返回arguments物件所屬的函式的引用,這相當於在自己的內部呼叫自己

-- arguments 物件用得最多的還是做遞迴操作

function fact(num){
if(num <= 1){
return 1;
}else{
return num * arguments.callee(num-1);
}
}
console.log(fact(5)); // 120