Javascript 我希望以字符串形式返回偶数或奇数,但由于某些原因,此代码始终返回未定义的值。
无论输入如何,每次都返回未定义。我注意到,当我运行调试器时,即使我有返回语句,它也不会退出函数 无论输入如何,每次都返回未定义 不,没有 如果输入0,它将返回“偶数” 如果输入1,则返回“奇数” 如果您输入了其他内容,那么在对其自身进行大量递归调用之后,它将不返回任何内容,因为这种情况下没有返回语句 如果你想返回你从递归调用中得到的任何东西,那么你必须实际这样做Javascript 我希望以字符串形式返回偶数或奇数,但由于某些原因,此代码始终返回未定义的值。,javascript,Javascript,无论输入如何,每次都返回未定义。我注意到,当我运行调试器时,即使我有返回语句,它也不会退出函数 无论输入如何,每次都返回未定义 不,没有 如果输入0,它将返回“偶数” 如果输入1,则返回“奇数” 如果您输入了其他内容,那么在对其自身进行大量递归调用之后,它将不返回任何内容,因为这种情况下没有返回语句 如果你想返回你从递归调用中得到的任何东西,那么你必须实际这样做 function EvenOdd(num) { if (num === 0) return 'even';
function EvenOdd(num) {
if (num === 0)
return 'even';
if (num == 1)
return 'odd';
num -= 2;
EvenOdd(num);
}
console.log(EvenOdd(49));
return 0;
函数EvenOddnum{
返回数值%2?'Odd':'Even';
}
console.logEvenOdd48 你的功能有很多问题 首先,您需要在函数中返回一些内容,这就是为什么您会看到未定义 然后,要知道一个数是奇数还是偶数,只需给我们一个模:% 常量偶数=n=>n%2==0?'偶数“:“奇数”;
console.logEvenOdd49 你需要对2做一个mod,看看它是偶数还是奇数,对不对,你可以对照49不等于0或1的数字本身进行检查: 函数EvenOddnum{ 如果num%2==0 返回“偶数”; 其他的 返回“奇数”; }
console.logEvenOdd49;您的递归调用缺少返回。您应该为负数和非数字的内容添加错误处理,否则将无限递归。更不用说,递归是确定数字是偶数还是奇数的一种绝对糟糕的方法。
num -= 2;
return EvenOdd(num);