代码:
function forLoop(x) {
if (x >= 10) {
console.log(x); // here if I add console.log(x) , x value is 10
return (x); // next line if i return x output = undefined
}
forLoop(x + 1);
}
console.log(forLoop(0));
输出是“undefined”而不是 10。
谁能详细解释递归的工作原理以及如何修复我的代码中的错误?
最佳答案
如果 x 大于或等于 10,则函数返回 x。
否则,它调用自己但不返回任何内容。
当 if
失败时,你必须返回一些东西。
function forLoop(x) {
if (x >= 10) {
return (x);
}
return forLoop(x + 1);
}
关于javascript - 最简单的递归函数返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411745/