一开始阶层递归,每次递归可以获取值
function jiacheng(n) {
if (n === 0) {
return
}
return n * jiacheng(n);
}
优化: 使用尾递归,最后一次递归才返回所需要的值
function jiaChengLast(n, total=1) {
if (n === 0) {
return total;
}
return jiaChengLast(n - 1, total * n)
}
查考文章: http://www.zcfy.cc/article/all-about-recursion-ptc-tco-and-stc-in-javascript-2813.html