書上用了一個階乘功能來演示遞歸:
7.1 遞歸(階乘)
function factorial(number){
if (number <= 1){
return 1;
}else {
return number * arguments.callee(number - 1);
}
}
var anotherfactorial = factorial;
factorial = null;
alert(anotherfactorial(4));
注:在遞歸時,使用arguments.callee來代替原函數名更穩定。
在嚴格模式下使用arguments.callee會出錯,可以使用下面的函數表達式:
var anotherfactorial = (function f(number) {
if (number <= 1){
return 1;
} else {
return number * f(number - 1);
}
});






