检查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语句。