JSのこのコードは、「nullは数値だと思います」というポップアップを表示します。何が欠けていますか?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Firefox 3を使用しています。これはブラウザのバグですか?
その他のテスト:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
それで、問題はNaNとの正確な比較ではないようです?
編集:これで質問に回答しました。投稿をクリーンアップして、アーカイブに適したバージョンを用意しました。ただし、これにより、一部のコメントや一部の回答でさえも少しわかりにくくなります。著者を責めないでください。私が変更したものの中には:
- そもそも意味を元に戻すことで見出しをめちゃくちゃにしたというメモを削除
- 以前の回答では、動作がおかしいと思う理由を明確に述べていなかったため、文字列をチェックして手動で比較する例を追加しました。