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)
我究竟做错了什么?
试试这个
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)
在我输入此内容时其他答案是正确的,但需要解释一下
\n\nvar isEven = function(number) {\n// Your code goes here!\n if(4 % 2) {\n return true;\n } else {\n return false;\n }\n};\nRun Code Online (Sandbox Code Playgroud)\n\n%这是模除运算符。所以它返回一个值。模数告诉您除法后剩下的余数。所以 4 模 2 返回 0,因为没有剩下任何东西。因此,为什么您需要检查返回值
var isEven = function(number) {\n// Your code goes here!\n if(4 % 2 == 0) {\n return true;\n } else {\n return false;\n }\n};\nRun 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\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
\n\n另外,您已将 4 硬编码到 if 语句中,因此它将始终返回 true!该函数的参数是数字。
\n\nvar isEven = function (number) {\n // Your code goes here!\n if (number % 2 == 0) {\n return true;\n }\n else {\n return false;\n }\n};\nRun Code Online (Sandbox Code Playgroud)\n