Синтаксис JavaScript Справочник JavaScript JSON Коды клавиш События Строгий режим

JavaScript: Infinity и NaN

Infinity

В JavaScript имеется предопределённая глобальная переменная Infinity. Она хранит специальное значение обозначающее бесконечность – Infinity. Эта переменная доступна только для чтения.

Значение Infinity можно получить:

alert(123 / 0);     // Infinity
alert(-12345 / 0);  // -Infinity
alert(1e500);       // Infinity
alert(1 - 1e500);   // -Infinity
Попробовать »

Если вычисление возвращает одну из бесконечностей, это значение не может использоваться ни в каких дальнейших вычислениях, потому что значение Infinity не имеет числового представления и любая арифметическая операция с бесконечностью всегда возвращает бесконечность:

alert(20 + Infinity);   // Infinity

NaN

Также, в JavaScript имеется предопределённая глобальная переменная NaN. Она хранит специальное значение NaN (NaN сокращение от англ. Not a Number – не число). Эта переменная доступна только для чтения.

Значение NaN используется для обозначения математической ошибки, которая возникает в том случае, если математическая операция не может быть совершена:

var a = 10, b = "текст";

document.write(a - b);  // Операнд не может быть преобразован в число
document.write(0 / 0);  // Деление нуля на нуль
Попробовать »

Значение NaN обладает одной особенностью: оно не равно никакому значению, в том числе и другому NaN:

NaN == NaN   // false

Чтобы определить, является ли значение переменной значением NaN следует выполнить проверку на неравенство x != x. Эта проверка вернёт true тогда и только тогда, когда x имеет значение NaN:

var x = NaN;

alert(x != x);   // true

Если вычисление возвращает значение NaN, это значение не может использоваться ни в каких дальнейших вычислениях, потому что значение NaN не имеет числового представления и любая арифметическая операция с NaN всегда возвращает NaN:

var num = NaN / 10;   // NaN
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru

Реклама на сайте | puzinfo@puzzleweb.ru | ruen