Javascript if语句不返回true
我应该得到一个可以被2整除的数字,我正在这样做。我不知道为什么我的代码不起作用。我在学习javascript的课程中这样做。我得到的错误是: 哎呀,再试一次。当number=2时,函数返回false。如果收到的数字为偶数,请检查if/else语句中的代码是否正确返回true 问题是: 在isEven函数内编写if/else语句。 它应该是真的;如果它接收的数字可以被2整除。 否则(else),它应该返回false;。 确保返回-不要使用console.log() 我的代码Javascript if语句不返回true,javascript,if-statement,Javascript,If Statement,我应该得到一个可以被2整除的数字,我正在这样做。我不知道为什么我的代码不起作用。我在学习javascript的课程中这样做。我得到的错误是: 哎呀,再试一次。当number=2时,函数返回false。如果收到的数字为偶数,请检查if/else语句中的代码是否正确返回true 问题是: 在isEven函数内编写if/else语句。 它应该是真的;如果它接收的数字可以被2整除。 否则(else),它应该返回false;。 确保返回-不要使用console.log() 我的代码 var isEven
var isEven = function(number) {
// Your code goes here!
if(4 % 2) {
return true;
} else {
return false;
}
};
我做错了什么?试试这个
var isEven=函数(编号){
如果(编号%2==0){
返回true;
}否则{
返回false;
}
};
控制台日志(isEven(4));
控制台日志(isEven(3));
控制台日志(isEven(6))代码>在if语句4%2
中给出了0
,而在if语句中给出了false
,这就是它不起作用的原因
将if语句更改为
if(4%2==0)
其他答案在我输入时是正确的,只是为了解释
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中获得一个实际的模运算符,不同之处在于模运算符结果将采用除数的符号,而不是股息
此外,您在if语句中硬编码了4,因此它将始终返回true!函数的参数是number
var isEven = function (number) {
// Your code goes here!
if (number % 2 == 0) {
return true;
}
else {
return false;
}
};
4
应该是number
那么我应该在哪里定义number呢?number
是函数的形式参数number
是您为参数键入的名称,因此在isEven(42)
之后的函数中,number
包含42,即您想要测试的%2
,并且,4%2
会给你0
这是错误的。谢谢你的回答!为什么其他人说要使用number参数。我从来没有定义过,所以如果'number%2==0'怎么可能是真的呢。我试过这个,它是正确的。我只是不明白为什么。@Becky在函数定义行“var isEven=function(number){”中,在函数后面的括号内定义了函数的输入或参数。您定义了一个名为number的参数。这样,您就可以传入一个值,并对函数进行测试。因此,您可以随时这样做:isEven(30)在函数内部,参数编号现在保留值30。也没问题!很乐意帮助=]明白了,所以我只是做一个if语句,稍后如果我给number
一个值,它将测试它。正确。if语句将始终返回true,因为4模2将始终返回0,使用定义的参数编号使函数由于其结果取决于一个变量,而该变量在每次调用函数时都会发生变化。@Becky如果您使用的是Codecademy之类的东西,他们会为您在参数中插入一个数字,而无需您自己调用函数。