Этот код в 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?
Изменить: теперь на вопрос дан ответ, я очистил свой пост, чтобы получить лучшую версию для архива. Однако это делает некоторые комментарии и даже ответы немного непонятными. Не вините их авторов. Среди вещей, которые я изменил, было:
- Удалено примечание о том, что я изначально напортачил с заголовком, вернув его значение.
- Более ранние ответы показали, что я недостаточно четко указал, почему считаю такое поведение странным, поэтому я добавил примеры, которые проверяют строку и проводят сравнение вручную.