在 JavaScript 中,递归函数的返回值问题可以通过以下几种方法解决:
例子:
function sum(n, accumulator = 0) {
if (n === 0) {
return accumulator;
}
return sum(n - 1, accumulator + n);
}
console.log(sum(5)); // 输出 15
例子:
function sum(n) {
if (n === 0) {
return 0;
}
return n + sum(n - 1);
}
console.log(sum(5)); // 输出 15
例子:
let result = 0;
function sum(n) {
if (n === 0) {
return;
}
result += n;
sum(n - 1);
}
sum(5);
console.log(result); // 输出 15
使用累加器变量或将递归函数的结果作为参数传递给下一个递归调用是更好的做法,因为它们避免了使用全局变量,使代码更清晰和可维护。