javascript - 最简单的递归函数返回 undefined

标签 javascript

代码:

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/

相关文章:

php - 支持ctrl+click的PHP+JS(extJS)开发IDE是什么?

javascript - 基于javascript变量渲染jsp内容

javascript - 如何打开新的浏览器选项卡?

javascript - dojo 中的状态服务器端过滤

javascript - babel 的输出 : remove arrow functions in a node module

javascript - Dropzonejs : change maxFiles programmatically

javascript - 修复窗口调整大小时带有侧边栏位置的导航栏

javascript - 如何添加类 ('overflow' );

javascript - 有没有办法使用 javascript 检测元素在哪个 CSS 网格列和行中?

javascript - 我可以在 JavaScript 中创建一个正则表达式来验证特定的数学公式 - 字母和括号,其中不应嵌套括号