javascript函数输出数学计算

时间:2015-01-27 20:20:20

标签: javascript

我正在关注pluralsight.com上的javascript视频教程&他们有一个javascript函数,但我不明白他们是如何得到这个结果的:

function factorial(n){
    if (n === 0 || n === 1){
    return 1;
    }
return n * factorial(n-1);

}
console.log( factorial(5) ); // result is 120

任何人都可以解释一下为什么这个功能返回120?我希望它返回5 * 4 = 20? >> JS Fiddle Link

1 个答案:

答案 0 :(得分:1)

它是一个递归函数,它自称:return n * factorial(n-1)。因此,factorial(5)4作为参数调用自身,而factorial(4)3作为参数调用自身,依此类推。