Что означает NaN в JavaScript?


#1

Мне постоянно выдает это значение в alert, когда пытаюсь вывести значение числа, что это значит?


#2

Это значит что ваше значение которое вы пытаетесь вывести в alert это not a number, проще говоря, не число) Такое происходит когда вы используете какие то не определенные в математическом смысле операции, что интересно, так это то что это значение не равно ничему кроме себя:
if (NaN==NaN){
alert("Равны");
} else {
alert("Не равны");
}

if (NaN===NaN){
    alert("Равны");
} else {
    alert("Не равны");
}

Есть даже специальная функция для определения таких значений, называется isNaN, возвращает true если переданное значение NaN, возвращает false, если переданное значение в порядке, так же следует быть осторожным, так как любое выражение которое содержит в себе NaN, имеет результат NaN.
var num1 = NaN;

var num2 = 2;

alert(isNaN(num1));

alert(isNaN(num2));

Так же следует быть осторожным, так как любое выражение которое содержит в себе NaN, имеет результат NaN.

var num1 = NaN;

var num2 = 2 + num1;

alert(isNaN(num2));