在 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
使用累加器變量或將遞歸函數的結果作為參數傳遞給下一個遞歸調用是更好的做法,因為它們避免了使用全局變量,使代碼更清晰和可維護。