2017-05-22 16 views
0

私はオンラインで練習をしており、if else文を使用する必要があります。 isNaNステートメントが機能しません。 numberの入力が実際の数でない場合は、文字列を返さなければなりません。コンパイルされませんこれは、助けてください:is elseヘルプのifNanヘルプ

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

* *正しいインデントを使用してください...また、あなたの本当の場合は、通常、最後のケースである必要があります。 – Li357

+2

最初のチェックとしてisNanが必要です。 –

答えて

1

あなたのコードはfalseを返します最初にif-else-if条件をチェックします。

説明:

引数が数値でない場合は、number % 2 !== 0はtrueになり、それが値を返します。

注: return文は、関数の実行をさらに終了し、値を返します。だから、if-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));

1

のように、すべての前の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; 
    } 
};