У меня есть фрагмент кода JavaScript, который, как ожидается, задает целочисленное значение переменной.
Что-то сломано, поэтому, когда я пытаюсь сделать alert(A);, он возвращает NaN. isNaN(A); возвращает true. Но если я alert(typeof(A));, то он говорит number.
Итак, как переменная может быть числом, а не числом в одно и то же время? Возможно, я неправильно понял, что такое NaN?
Изменить: благодаря ответам, я вижу, что я ошибался, потому что:
- Тип
NaN-number, -
NaNозначает "не число", это не то же самое, что "не типаnumber", -
0/0является хорошим примеромNaN: он по-прежнему является числом, но JavaScript (и никто другой) не может сказать, что представляет собой действительное значение нуля, деленное на ноль.1/0, с другой стороны, возвращаетInfinity, который не являетсяNaN.