Цей код в JS дає мені спливаюче вікно, яке говорить "я думаю, що нуль є числом", що я вважаю трохи тривожним. Що я пропускаю?
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?
Редагувати: Тепер на запитання відповіли, я очистив свою публікацію, щоб мати кращу версію для архіву. Однак це робить деякі коментарі та навіть деякі відповіді трохи незрозумілими. Не звинувачуйте їх авторів. Серед речей, які я змінив:
- Вилучив замітку, в якій говорилося, що я перекрутив заголовок, насамперед повернувши його значення
- Раніші відповіді показали, що я не зазначив досить чітко, чому я вважаю, що поведінка дивна, тому я додав приклади, які перевіряють рядок і роблять порівняння вручну.