function factorial(num) { if(num <= 1){ return 1; } else { return num * factorial(num-1); } }; var anotherFactorial = factorial; factorial = null; alert(anotherFactorial(4)); //Uncaught TypeError: factorial is not a function
arguments.callee是一个指向正在执行的函数的指针,可以用它实现对函数的递归调用。
1 2 3 4 5 6 7 8 9 10
function factorial(num) { if(num <= 1){ return 1; } else { return num * arguments.callee(num-1); } }; var anotherFactorial = factorial; factorial = null; alert(anotherFactorial(4)); //24
近期评论