我有一个函数可以检查一个数字是否可以被 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/