检查JavaScript中的数字是否为偶数

检查JavaScript中的数字是否为偶数,javascript,if-statement,Javascript,If Statement,我不明白为什么这不管用。它看起来类似于我见过的许多解决方案,如果不是完全相同的话。很明显,我遗漏了一些东西。如果有人愿意解释,我将不胜感激 var isEven = function(number) { if (isEven % 2 === 0) { return true; } else { return false; } }) isEven函数的值是函数 因此,当您检查内部(isEven%2==0) 结果总是错误的,因为isEven是NaN。 这将始终返回false 相反,

我不明白为什么这不管用。它看起来类似于我见过的许多解决方案,如果不是完全相同的话。很明显,我遗漏了一些东西。如果有人愿意解释,我将不胜感激

var isEven = function(number) {
if (isEven % 2 === 0) {
    return true;
} else {
    return false;
}

})

isEven函数的值是函数

因此,当您检查内部
(isEven%2==0)
结果总是错误的,因为isEven是NaN。 这将始终返回false

相反,使用参数
number
是正确的解决方案

var isEven = function(number) {
  if (number % 2 === 0) {
    return true;
  } else {
    return false;
  }
}

isEven函数的值是一个函数

因此,当您检查内部
(isEven%2==0)
结果总是错误的,因为isEven是NaN。 这将始终返回false

相反,使用参数
number
是正确的解决方案

var isEven = function(number) {
  if (number % 2 === 0) {
    return true;
  } else {
    return false;
  }
}

您可以将其修复并缩短为:

function isEven(number) {
    return number % 2 === 0;
}

不需要
if/else
。您可以直接返回比较结果。

您可以将其修复并缩短为:

function isEven(number) {
    return number % 2 === 0;
}

不需要
if/else
。您可以直接返回比较结果。

在函数中,您应该使用number,而不是isEven。谢谢,这很有意义。。fixedI建议您学习如何调试程序。例如,在函数的第一行,您可以输出
isEven%2
,查看其值。您可以
alert
it,或者
console.log
it。或者您可以在那里放置一个断点,并在调试器中检查
isEven%2
的值。在这两种情况下,您都会看到值为
NaN
。为了找出原因,您可以检查
isEven
本身的值,并查看它是一个函数。这可能会指出一个问题,即取函数的模,而不是参数
number
。在函数中,应该使用number,而不是isEven。谢谢,这很有意义。。fixedI建议您学习如何调试程序。例如,在函数的第一行,您可以输出
isEven%2
,查看其值。您可以
alert
it,或者
console.log
it。或者您可以在那里放置一个断点,并在调试器中检查
isEven%2
的值。在这两种情况下,您都会看到值为
NaN
。为了找出原因,您可以检查
isEven
本身的值,并查看它是一个函数。这就指出了一个问题,即取函数的模,而不是参数
number
。哇,好吧,也许我需要一个现在看起来很明显的休息。。。谢谢你,伙计,这让我好几个小时都很痛苦。哇,好吧,也许我现在需要休息一下,这看起来很明显。。。谢谢,伙计,这让我痛苦了好几个小时。这更干净。^绝对不需要if/else语句。这更干净。^绝对不需要if/else语句。