JavaScript で isNan() 関数を記述できますか? NaNJavaScript で変数にネイティブisNaN関数がないことを確認できますか?
これはインタビューの質問です。
JavaScript で isNan() 関数を記述できますか? NaNJavaScript で変数にネイティブisNaN関数がないことを確認できますか?
これはインタビューの質問です。
それが数値であり、それ自体と等しくない場合、それはNaNです。
注:@pstが指摘しているように、数の制約は不要です。NaNJS!=自体の唯一の値のようです。
この質問の完全な解決策:
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