isNan帮助if else语句

时间:2017-05-22 02:15:53

标签: javascript

我正在进行在线练习,我需要使用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;
    }
};

2 个答案:

答案 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));