Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我希望以字符串形式返回偶数或奇数,但由于某些原因,此代码始终返回未定义的值。_Javascript - Fatal编程技术网

Javascript 我希望以字符串形式返回偶数或奇数,但由于某些原因,此代码始终返回未定义的值。

Javascript 我希望以字符串形式返回偶数或奇数,但由于某些原因,此代码始终返回未定义的值。,javascript,Javascript,无论输入如何,每次都返回未定义。我注意到,当我运行调试器时,即使我有返回语句,它也不会退出函数 无论输入如何,每次都返回未定义 不,没有 如果输入0,它将返回“偶数” 如果输入1,则返回“奇数” 如果您输入了其他内容,那么在对其自身进行大量递归调用之后,它将不返回任何内容,因为这种情况下没有返回语句 如果你想返回你从递归调用中得到的任何东西,那么你必须实际这样做 function EvenOdd(num) { if (num === 0) return 'even';

无论输入如何,每次都返回未定义。我注意到,当我运行调试器时,即使我有返回语句,它也不会退出函数

无论输入如何,每次都返回未定义

不,没有

如果输入0,它将返回“偶数”

如果输入1,则返回“奇数”

如果您输入了其他内容,那么在对其自身进行大量递归调用之后,它将不返回任何内容,因为这种情况下没有返回语句

如果你想返回你从递归调用中得到的任何东西,那么你必须实际这样做

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);