Javascript.RU

О магических числах

В ECMA-Script есть три "волшебных", даже "мистических" константы. Это Number.NaN, Number.POSITIVE_INFINITY и Number.NEGATIVE_INFINITY.

NaN получается, например, при делении на ноль или при преобразовании «неправильной» строки в число:

alert(10/0);
alert(parseInt('hey-hey-hey'));
alert(parseFloat('it`s not a number, baby'));

NaN не равно ни одному другому числу. И даже — сюрприз! — самому себе:

alert(NaN == parseInt('hey-hey-hey')); //выведет false

Чтобы проверить, является ли переданное значение числом или строкой, приводимой к число, надо использовать статический метод Number.isNaN:

alert(isNaN(parseInt('hey-hey-hey'))); //выведет true

Firefox выводит значения Number.POSITIVE_INFINITY и Number.NEGATIVE_INFINITY как Infinity и -Infinity соответственно:

alert(-10/-0); // Infinity
alert(-10/0); // -Infinity. Забавно, что 
alert(10/-0); // тоже выведет -Infinity
0

Автор: Alik Kirillovich (не зарегистрирован), дата: 23 мая, 2008 - 20:50
#permalink

Ошибка с парностью кавычек в 1-м примере:

alert(parseFloat('it's not a number, baby'));

Автор: hogart, дата: 26 мая, 2008 - 13:02
#permalink

Спасибо.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
4 + 5 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Другие записи этого автора
hogart
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние комментарии
Последние темы на форуме
Forum