あるライブラリのソースでこれを見て、混乱しました。私は、それは常に「false
」に評価されると思います。それを使う意味は何ですか?
質問する
86 次
2 に答える
6
v
かどうかをチェックしますNaN
:
if( v !== v ){
//'v' is NaN here
}
標準から:
値 X が NaN であるかどうかを ECMAScript コードでテストする信頼できる方法は、X !== X という形式の式です。結果は、X が NaN である場合にのみ true になります。
ビルトインを使用しないのはなぜisNaN()
ですか?
答えは簡単です。「isNaN()
信頼性が十分ではありません。」. isNaN()
失敗するケースは次のとおりです。
isNaN("NaN") //true
isNaN(undefined) //true
于 2012-07-11T10:16:59.840 に答える
1
「Not A Number」をテストします: NaN !== NaN
equalstrue
MDNから:
NaN の初期値は Not-A-Number で、Number.NaN の値と同じです。最新のブラウザでは、NaN は設定も書き込みもできないプロパティです。そうでない場合でも、オーバーライドは避けてください。
プログラムで NaN を使用することはかなりまれです。これは、Math 関数が失敗し
(Math.sqrt(-1))
たとき、または数値を解析しようとする関数が失敗したときに返される値(parseInt("blabla"))
です。
于 2012-07-11T10:16:54.497 に答える