JavaScript中匿名函数的递归调用
callee 是 arguments 对象的一个属性,其值是当前正在执行的 function 对象。 它的作用是使得匿名 function 可以被递归调用。 下面以一段计算斐波那契序列(Fibonacci sequence)中第 N 个数的值的代码来演示 arguments.callee 的使用
function fibonacci(num) {
return (function(num) {
if (typeof num !== "number") return -1;
num = parseInt(num);
if (num < 1) return -1;
if (num == 1 || num == 2) return 1;
return arguments.callee(num - 1) + arguments.callee(num - 2);
})(num);
}
fibonacci(100);

浙公网安备 33010602011771号