Инструкции JavaScript
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаю сегодня рубрику Уроки…
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем сегодня рубрику Заметки по JavaScript, в которой я успел уже рассмотреть все типы данных поддерживаемые языком JavaScript, а также стандартные средства JavaScript для вывода данных в HTML документы: методы document.write (), alert (), confirm ().
Сегодня мы продолжим тему типов данных JavaScript и поговорим о JavaScript числах. Понятно, что без чисел написать какую-либо программу практически невозможно. Из данной публикации вы узнаете числовой диапазон в JavaScript, форматы чисел в JavaScript, узнаете о том, как представляются в JavaScript целые литералы, литералы вещественных чисел, какие виды записей помимо десятичной системы счисления есть в JavaScript.
Так же я попытаюсь описать работу с числами в JavaScript и то, как преобразуются числа в другие типы данных JavaScript. Более подробно остановлюсь на процессе преобразования чисел в строки. В этой публикации и в последующих вы можете встретить термин литерал. Для тех, кто не знает, что такое литерал поясню. Литерал – это значение, которое указано непосредственно в тексте программы.
Содержание статьи:
Как говорилось в предыдущей статье, числа – это основной тип данных JavaScript и не только в JavaScript. Пояснять, что такое число думаю никому не надо. Особенностью языка JavaScript является то, что в нем нет различия между целыми и вещественными числами, в отличи от Java или C++.
Число в JavaScript представляются 64 разрядными вещественными значениями с плавающей точкой. Число в JavaScript можно представить от до . Если литерал – это значение, которое указано в программе, то число указанное в программе называется числовой литерал.
Чтобы записать отрицательное число, нужно перед числом указывать знак «-», но обратите внимание, что минус это не знак числа, а унарный JavaScript оператор, который используется просто для смены знака. То есть, минус не является частью синтаксиса числовых данных JavaScript.
Целые число в JavaScript записывается как и везде, и представляют собой последовательность цифр от 0 до 9:
[php]
0
12
3265
235570000
[/php]
У JavaScript очень большой числовой диапазон, это все целые числа от ±1.79*10308 до ±5*10-324. Но есть случаи, когда JavaScript операции выполняются не с 64 разрядными числа, а с 32 разрядными, например – это операции выполняются битовыми операторами. В этом случае целые числа JavaScript будут иметь диапазон от -231 до 231-1.
Шестнадцатеричные числа – это числа по основанию 16, что означает буквально следующее: чтобы представить число в шестнадцатеричной системе счисления используются цифры от 0 до 9 и буквы латинского алфавита от A до F. Шестнадцатеричные числа помимо языка JavaScript используются для записи цветов в физической модели RGB.
Восьмеричные числа – это числа по основанию 8, для записи чисел в восьмеричной системе счисления используются числа от 0 до 7.
Шестнадцатеричные числа в JavaScript записываются с последовательности «0x» или «0X», кому как удобнее, после этой последовательности вы можете записать число шестнадцатеричными цифрами.
[php]
0xfff
0xFAA
0XFAAA
0X11aa
[/php]
Восьмеричные числа в JavaScript поддерживаются, но не всеми реализациями. Восьмеричное число в JavaScript начинается с 0, после чего следуют цифры от 0 до 7.
[php]
0123
0432
0347
[/php]
Избегайте записывать целые числа в JavaScript в восьмеричной системе счисления, поскольку никто точно не скажет, поддерживаются ли в данной реализации восьмеричные целые числа.
Вещественные числа – это все числа (сейчас будет очень грубо), подчеркиваю еще раз ВСЕ ЧИСЛА, которые можно расположить на числовой прямой. Вещественных чисел бесконечно много, целых чисел тоже бесконечно много, но бесконечность вещественных чисел бесконечнее, чем у целых. Целые числа – это подмножество вещественных чисел.
В любом языке программирования можно представить вещественные числа, но точность представления вещественных чисел будет ограничена допустимой разрядностью. Ярким примером вещественного числа является число пи.
Вещественное число в JavaScript представляется как целая часть числа, за которой ставится точка, после чего идет дробная часть числа. Естественно записывается цифрами от 0 до 9.
В JavaScript вещественные числа можно записывать экспоненциальной форме. Делается это так: записывается вещественное число, после него пишется буква е или Е, затем указывается знак(плюс или минус), если знак не указывается, то по умолчанию интерпретируется как плюс, после чего указывается целое число. Все вышесказанное означает: вещественное число умножается на 10 в целой степени.
[php]
3.14
0.123
1.234565
.1
3.02е12 // 3.02*10^12
21.12E-24 // 21.12*10^-24
[/php]
Как я уже говорил – вещественных чисел бесконечно много, но ни одна машина, а соответственно и ни один язык программирования не способен представить все вещественные числа, да этого нам и не требуется. Вещественные числа в JavaScript чаще всего являются округлением реального числа, точности округления всегда достаточно.
В JavaScript имеются специальные числовые значения, которые предназначены для нестандартных ситуаций, например, при делении числа на ноль или если результат вычислений превышает допустимое числовое значение в JavaScript.
В JavaScript заранее определены константы для вышеописанных ситуаций. Эти JavaScript константы относятся к числовому типу данных:
В языке JavaScript числа можно преобразовывать в любые другие типы данных. Давайте посмотрим, как будут представлены числа, если мы будем их преобразовывать в другие типы данных.
Преобразуемое значение |
В строку |
В число |
В логическое значение |
В объектный тип данных |
0 |
«0» |
0 |
false |
Объект Number |
NaN |
«NaN» |
NaN |
false |
Объект Number |
Infinity |
«Infinity» |
Infinity |
true |
Объект Number.POSITIVE_INFINITY |
-Infinity |
«-Infinity» |
-Infinity |
true |
Объект Number.NEGATIVE_INFINITY |
Любое число отличное от 0 |
«число» |
Число |
true |
Объект Number |
Не трудно заметить, что числа отличные от 0 или специального значения NaN при преобразование числа в логическое значение преобразуются в значение true, при преобразование любых числовых значений JavaScript в объектный тип данных, они преобразуются в объект Number JavaScript. При преобразование числовых значений JavaScript в строковые значение JavaScript, они преобразуются в аналогичную строку и работать с такими значениями нужно уже как со строковыми.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru
Скажите, а какой смысл писать про JavaScript числа и их запись в восьмеричной системе счисления, если вы сами не рекомендуете использовать такой вид записи чисел в JavaScript, не лучше ли было вообще не упоминать о них, чтобы не морочить людям голову с записью чисел в JavaScript?
Michel, ну если вы будете что-то писать на JavaScript, то в любом случае Вам придется работать с чужим кодом и, возможно, что кто-либо мог использовать запись чисел в восьмеричной системе счисления, поскольку JavaScript (хоть и не все реализации) поддерживает запись чисел в восьмерчной системе счисления, надеюсь, дальнейших пояснений не надо.