JavaScript 递归函数示例:计算阶乘
以下是一个 JS 递归函数的案例,用于计算一个数字的阶乘:
function factorial(n) {
if (n === 0) { // 当 n 为 0 时,阶乘为 1
return 1;
} else { // 当 n 不为 0 时,阶乘为 n * (n-1) 的阶乘
return n * factorial(n-1);
}
}
console.log(factorial(5)); // 输出 120,即 5 的阶乘
解释:当传入的参数 n 为 0 时,函数返回 1,这是因为 0 的阶乘为 1。当 n 不为 0 时,函数返回 n 乘以 factorial(n-1) 的结果,这是因为 n 的阶乘等于 n 乘以 (n-1) 的阶乘。因此,当我们调用 factorial(5) 时,函数会按照以下方式递归调用:
factorial(5) = 5 * factorial(4)
factorial(4) = 4 * factorial(3)
factorial(3) = 3 * factorial(2)
factorial(2) = 2 * factorial(1)
factorial(1) = 1 * factorial(0)
factorial(0) = 1
最终结果为 120,即 5 的阶乘。
原文地址: https://www.cveoy.top/t/topic/ntz5 著作权归作者所有。请勿转载和采集!