if语句未返回true
if statement not returning true
我应该得到一个可以被二整除的数字,我正在这样做。我不知道为什么我的代码不起作用。我在学习javascript的课程中这样做。我得到的错误是:
哎呀,再试一次。当数字=2时,函数似乎返回false。如果收到的数字是偶数,请检查if/else语句中的代码是否正确返回true。
问题是:
在isEven函数中编写一个if/else语句。它应该返回true;如果它接收的数字可以被2整除。否则(else),它应该返回false;。请确保返回-不要使用console.log()!
我的代码
var isEven = function(number) {
// Your code goes here!
if(4 % 2) {
return true;
} else {
return false;
}
};
我做错了什么?
试试这个
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));
一行更漂亮
var isEven = function(number) {
return number % 2 === 0;
};
console.log(isEven(4));
console.log(isEven(3));
console.log(isEven(6));
其他答案在我输入时是正确的,但为了解释
var isEven = function(number) {
// Your code goes here!
if(4 % 2) {
return true;
} else {
return false;
}
};
%
这是模除法算子。所以它返回一个值。模数告诉你除法后剩下的余数。所以4模2返回0,因为没有剩余的东西。因此,为什么您需要对照返回值进行检查
var isEven = function(number) {
// Your code goes here!
if(4 % 2 == 0) {
return true;
} else {
return false;
}
};
如果没有余数,它就是一个偶数,因为2把它平分,没有余数。所以3模2返回1,因为2将3除一次,剩下1。
根据下面的评论(似乎它被删除了),当用负数和正数说话时,模数和余数之间似乎有区别,但对于严格意义上的javascript运算符来说,这就是它的定义:
余数运算符返回一个操作数除以第二个操作数后剩下的余数。它总是取被除数的符号,而不是除数。它使用内置的模函数来产生结果,这是var1除以var2的整数余数——例如,var1模var2。有人建议在ECMAScript的未来版本中获得一个实际的模运算符,不同之处在于模运算符的结果将取除数的符号,而不是被除数。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
此外,您已将4硬编码到if语句中,因此它将始终返回true!函数的参数是数字。
var isEven = function (number) {
// Your code goes here!
if (number % 2 == 0) {
return true;
}
else {
return false;
}
};
在if语句中,4%2
给出0
,而在if语句则给出false
,这就是它不起作用的原因。
更改if语句
if(4%2==0)
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- 通过AJAX从具有LazyLoadingEnabled=true的EF返回的数组不正确
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 使用!而in运算符在应该为true时返回false,为什么
- 如何使以下函数返回true或false
- 为什么 javascript 返回对象位置 true 或 false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- Backbone.js集合.Create函数没有使用wait: true返回更新后的模型
- Sequelize:调用.get({plain: true}))返回.get不是函数
- 在if语句中为true, true返回false
- 固定脚和外高度(true)返回值