javascript - 循环函数返回未定义

标签 javascript function undefined

我有一个函数可以检查一个数字是否可以被 2.5 整除,如果不能被 2.5 整除,它会加上 0.5,然后用新值再次调用自身。当我像下面这样调用它时,它返回未定义,但如果我在函数内部使用 console.log 而不是 return,则会显示正确的舍入值。

function n(num){
    if(num % 2.5 === 0){
        return num;
    }else{
        num += 0.5;
        n(num)  
    }
}

console.log(n(13.5))

有什么想法吗?

最佳答案

您需要返回递归调用,以便再次检查您的条件,直到满足您的 if 条件:

function n(num){
    if(num % 2.5 === 0){
        return num;
    }else{
        num += 0.5;
        return n(num); //<-- add return
    }
}

console.log(n(13.5));

关于javascript - 循环函数返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24822800/

相关文章:

Java 从多选框中获取所有元素

javascript - 在 React 应用程序中跟踪渲染?

java - Android 静态函数

javascript - 切换网站语言 JS/JSON

jquery - 为什么在这种情况下变量未定义?

javascript - 根据里面的文字获取div的高度

javascript - 将 php 页面 URL 中的变量传递给 JavaScript 和另一个 PHP

javascript - 计算机科学中函数闭包的正式定义

javascript - 使用 JS 函数的更好方法

javascript - jQuery 未定义。以及如何解决