我正在进行在线练习,我需要使用if else语句。 isNaN语句不起作用。如果数字输入不是实际数字,我需要返回一个字符串。这不会编译请帮助:
var isEven = function(number) {
if (number % 2 === 0) {
return true;
} else if (number % 2 !== 0) {
return false;
} else if (isNaN(number)) {
return "you need to enter a number";
} else {
return false;
}
};
答案 0 :(得分:1)
由于
,您的代码返回false else if (number % 2 !== 0)
行,所以在所有事情之前检查isNaN
var isEven = function(number) {
if (isNaN(number)) {
return "you need to enter a number";
} else {
if (number % 2 === 0){
return true;
} else if (number % 2 !== 0) {
return false;
}
}
};
console.log(isEven(NaN));
you need to enter a number
答案 1 :(得分:1)
如果是 - else-if条件,您需要isNan
作为第一次检查。
说明:
如果参数不是数字,那么number % 2 !== 0
将为真,它将返回该值。
注意: return语句,进一步终止函数的执行并返回值。所以,即使这里不需要-else-if。
并提防NaN中的布尔和空字符串。
示例代码段:
var isEven = function(number) {
if (isNaN(number)) {
return "you need to enter a number";
}
if (number % 2 === 0) {
return true;
} else {
return false;
}
};
console.log(isEven(2));
console.log(isEven(3));
console.log(isEven('i am not a number'));
console.log(isEven(true));