一、Arguments.callee //获取当前正在执行的函数,也就是这个函数自身,常用于获取匿名函数自身
语法:arguments.callee
var factorial = function (x) {
if (x < 2) {
return 1;
}
else {
return x * arguments.callee(x - 1);
}
}
document.write(factorial(3)); //返回6 3*2*1
二、Arguments.length //获取传递给函数的参数个数
语法:arguments.length
var fun1 = function (x) {
return arguments.length;
}
var fun2 = function (x,y) {
return arguments.callee.length;
}
document.write(fun1(3, 2, 1)); //返回3,一共传入了3个参数。
document.write("<br/>" + fun2()); //返回2,函数期待的参数个数。
三、Argument[] //按索引获取参数,索引从0开始
语法:arguments[index]
var fun1 = function (x,y) {
document.write(arguments[0]); //输出1,索引为0就x,也就是本例中的1
document.write("<br/>" + arguments[1]); //输出2,索引为1就是y,也就是本例中的2
}
fun1(1,2);