JavaScript で isNan() 関数を記述できますか? NaN
JavaScript で変数にネイティブisNaN
関数がないことを確認できますか?
これはインタビューの質問です。
JavaScript で isNan() 関数を記述できますか? NaN
JavaScript で変数にネイティブisNaN
関数がないことを確認できますか?
これはインタビューの質問です。
それが数値であり、それ自体と等しくない場合、それはNaNです。
注:@pstが指摘しているように、数の制約は不要です。NaN
JS!=自体の唯一の値のようです。
この質問の完全な解決策:
var is_NaN = function(n) {
return (n !== n);
}
is_NaN(1/'a'); // true
isNaN(1/'a'); // true
JavaScriptNaN
では、それ自体と等しくないためです。式NaN === NaN
は常に戻りますfalse
2番目の解決策:
組み込みisFinite
関数を使用できます。isFinite
入力が 以外の数値かどうかをチェックします 。Infinity
NaN
isFinite(NaN) // false
isFinite(Infinity) // false
isFinite(1) // true
isFinite(true) // true, because argument true is equal to 1
isFinite('a') // false
isFinite(1/'a') // false