if语句没有返回true

Bec*_*cky 6 javascript if-statement

我应该得到一个可以被2整除的数字,而我正在这样做.我不确定为什么我的代码不起作用.我正在这个课程中学习javascript.我得到的错误是这样的:

哎呀,再试一次.当number = 2时,看起来你的函数返回false.如果它接收的数字是偶数,请检查if/else语句中的代码是否正确返回true.

问题是:

在isEven函数中写一个if/else语句.它应该返回true; 如果它收到的数字可以被2整除.否则(否则),它应该返回false; 确保返回 - 不要使用console.log()!

我的代码

var isEven = function(number) {
// Your code goes here!
  if(4 % 2) {
      return true;
  } else {
      return false;
  }
};
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ale*_* T. 9

试试这个

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

console.log(isEven(4));
console.log(isEven(3));
console.log(isEven(6));
Run Code Online (Sandbox Code Playgroud)

在一条线上更漂亮

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

console.log(isEven(4));
console.log(isEven(3));
console.log(isEven(6));
Run Code Online (Sandbox Code Playgroud)


Ath*_*ace 3

在我输入此内容时其他答案是正确的,但需要解释一下

\n\n
var isEven = function(number) {\n// Your code goes here!\n  if(4 % 2) {\n      return true;\n  } else {\n      return false;\n  }\n};\n
Run Code Online (Sandbox Code Playgroud)\n\n

%这是模除运算符。所以它返回一个值。模数告诉您除法后剩下的余数。所以 4 模 2 返回 0,因为没有剩下任何东西。因此,为什么您需要检查返回值

\n\n
var isEven = function(number) {\n// Your code goes here!\n  if(4 % 2 == 0) {\n      return true;\n  } else {\n      return false;\n  }\n};\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果没有余数,它就是偶数,因为 2 可以将它整除,没有余数。所以 3 模 2 返回 1,因为 2 除以 3 一次,剩下 1。

\n\n

根据下面的评论(似乎已被删除),在讨论负数和正数时,模数和余数之间似乎存在差异,但严格来说,JavaScript 运算符的定义如下:

\n\n

余数运算符返回一个操作数除以第二个操作数时剩下的余数。它总是采用被除数的符号,而不是除数。它使用内置模函数来生成结果,即 var1 除以 var2 \xe2\x80\x94 的整数余数,例如 \xe2\x80\x94 var1 模 var2。有人建议在 ECMAScript 的未来版本中获得一个实际的模运算符,不同之处在于模运算符的结果将采用除数的符号,而不是被除数。

\n\n

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators

\n\n

另外,您已将 4 硬编码到 if 语句中,因此它将始终返回 true!该函数的参数是数字。

\n\n
var isEven = function (number) {\n    // Your code goes here!\n    if (number % 2 == 0) {\n        return true;\n    }\n    else {\n        return false;\n    }\n};\n
Run Code Online (Sandbox Code Playgroud)\n