有人能解释一下这个递归函数是如何产生 5 * 4 * 3 * 2 * 1 来得到 120 的吗?
var factorial = function(n){
if (n === 0)
return 1;
else
return n * factorial(n - 1);
};
factorial(5); // spits out 120
如果我们像示例中那样使用 5,那么一旦我们到达 else 语句就不会
return n * factorial(n - 1);
转换为 '返回 5 乘以阶乘函数(5-1);5次...