有人可以向我解释为什么从下面的递归函数的最终返回值是正确的?JavaScript函数'返回'值?
function(factorial) {
if (n == 0)
return 1;
return n * factorial (n -1);
}
我了解递归,但我不明白为什么返回值,而不是仅仅1的正确结果,..如果我改变返回2,那么它只是双打阶乘的结果。所以看起来,无论我在这个回归表达式中的任何价值成为阶乘函数累积结果的乘数,为什么这样呢?阶乘函数的积累结果如何存储?所有回复赞赏
从您的评论看来,你真的不明白递归。认真思考。如果你输入'3',会发生什么? (提示:它会返回3 * 2 * 1,因为它是返回3 *因子(2),它是'返回3 *(2 *因子(1))' – slebetman