arguments对象
arguments对象是函数内部的一个内置对象,拥有数组的性质,在函数中保存这方法的所有参数。例如;下列函数形参设置了三个形参,法在调用时,传递了5个实参,在方法里面,另外两个参数值就可以用arguments来获取:console.log(arguments[3]);console.log(arguments[4]);
注意:arguments对象里面有一个ca llee方法,该方法指向当前方法本身。所以在写递归时会经常使用。举例0-20里内数和。
function fun1(a, b, c) {
console.log(a, b, c);
console.log(arguments);
console.log(arguments[3]);
console.log(arguments[4]);
for (let i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
console.log(arguments.callee);
}
fun1(100, 200, 300, 400, 500)
console.log('---------------------------------');
function calc(num) {
if (num === 1) {
return num
}
let sum = num + arguments.callee(num - 1)
return sum
}
console.log(calc(20));