Добро пожаловать на Luksian key

главная | библиотека | почта | игры | обои | анекдоты

Библиотека RTFM

Начало / Программирование / Java/JavaScript / Ядро JavaScript 1.5. Справочник.
Александр Пирамидин


Классы, Конструкторы и Методы Java
Назад     Вперёд

Ядро JavaScript 1.5. Справочник.


Number

Даёт возможность работать с числовыми значениями. Объект Number это оболочка/капсула объекта для примитивных числовых значений.



Объект ядра

Реализован в

JavaScript 1.1, NES 2.0

JavaScript 1.2: модифицировано поведение конструктора Number.

JavaScript 1.3: добавлен метод toSource.

JavaScript 1.5, NES 6.0: добавлены методы toExponential, toFixed и toPrecision.

Версия ECMA

ECMA-262


 
Создание

 

Конструктор Number:

 

new Number(value)


Параметр
value

Числовое значение создаваемого объекта.


Описание

Объект Number используется в основном:

  • Для доступа к его константным свойствам, которые представляют наибольшее и наименьшее представляемые числа, положительную и отрицательную бесконечность и значение Not-a-Number/Не-Число.

  • Для создания числовых объектов, в которые можно добавлять свойства. Вероятно Вам редко нужно будет создавать объект Number.

Свойства Number это свойства самого класса, а не отдельных объектов Number.

 

JavaScript 1.2:

Number(x) теперь даёт NaN, а не ошибку, если x это строка, не содержащая правильно сформированный числовой литерал.

 

Например,

 

x=Number("three");

document.write(x + "<BR>");

 

печатает NaN.

Вы можете конвертировать любой объект в число, используя функцию верхнего уровня Number.


Свойства. Резюме.


Свойство

Описание
constructor

Специфицирует функцию, создающую прототип объекта.

MAX_VALUE

Наибольшее представляемое число.

MIN_VALUE

Наименьшее представляемое число.

NaN

Специальное значение "not a number".

NEGATIVE_INFINITY

Специальное значение, представляющее отрицательную бесконечность; возвращается при переполнении.

POSITIVE_INFINITY

Специальное значение, представляющее бесконечность; возвращается при переполнении.

prototype

Позволяет добавлять свойства к Number-объекту.

 


Методы. Резюме.


Метод

Описание
toExponential

Возвращает строку, представляющую число в экспоненциальной нотации.

toFixed

Возвращает строку, представляющую число в нотации с фиксированной точкой.

toPrecision

Возвращает строку, представляющую число специфицированной точности с фиксированной точкой.

toSource

Возвращает литерал объекта, представляющий специфицированный Number-объект; Вы можете использовать это значение для создания нового объекта. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую специфицированный объект. Переопределяет метод Object.toString.

valueOf

Возвращает примитивное значение специфицированного объекта. Переопределяет метод Object.valueOf.

 

Кроме того, этот объект наследует методы watch и unwatch из Object.


Примеры

Пример 1.

Свойства объекта Number для присвоения значений различным числовым переменным:

 

biggestNum = Number.MAX_VALUE;
smallestNum = Number.MIN_VALUE;
infiniteNum = Number.POSITIVE_INFINITY;
negInfiniteNum = Number.NEGATIVE_INFINITY;
notANum = Number.NaN;

 

Пример 2.

Создаётся Number-объект , myNum, затем добавляется свойство description ко всем Number-объектам . Затем значение присваивается свойству description объекта myNum.

 

myNum = new Number(65);
Number.prototype.description=null;
myNum.description="wind speed";

 


constructor


 

Специфицирует функцию, создающую прототип объекта. Заметьте, что значением этого свойства является ссылка на функцию, а не строка, содержащая имя функции.

Свойство из

Number

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

См. Object.constructor.

 


MAX_VALUE


 

Максимальное числовое значение, представимое в JavaScript.

Свойство из

Number

Static, Read-only

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

Свойство MAX_VALUE имеет значение приблизительно 1.79E+308. Значения, больше чем MAX_VALUE, представляются как "Infinity".

 

Поскольку MAX_VALUE это static-свойство в Number, Вы всегда используете его так: Number.MAX_VALUE, а не как свойство созданного Вами Number-объекта.


Примеры

Следующий код перемножает два числа. Если результат меньше или равен MAX_VALUE, вызывается функция func1; иначе, вызывается функция func2.

 

if (num1 * num2 <= Number.MAX_VALUE)
   func1()
else
   func2()

 


MIN_VALUE


 

Наименьшее положительное числовое значение, представимое в JavaScript.

Свойство из

Number

Static, Read-only

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

Свойство MIN_VALUE это ближайшее к 0 число, не отрицательное, которое JavaScript может представить.

 

MIN_VALUE имеет значение приблизительно 5e-324. Значения меньшие, чем MIN_VALUE ("underflow\подводные-значения"), конвертируются до 0.

 

Поскольку MIN_VALUE это static-свойство в Number, Вы всегда используете его так: Number.MIN_VALUE, а не как свойство созданного Вами Number-объекта.


Примеры

Этот код делит два числа. Если результат меньше или равен MIN_VALUE, вызывается функция func1; иначе, вызывается функция func2.

 

if (num1 / num2 >= Number.MIN_VALUE)
   func1()
else
   func2()

 


NaN


 

Специальное значение Not-A-Number/Не-Число. Это значение представляется как литерал NaN без кавычек.

Свойство из

Number

Read-only

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

JavaScript печатает значение Number.NaN как NaN.

 

NaN всегда не равно другому числу, включая само NaN; Вы не можете проверять значение not-a-number, сравнивая его с Number.NaN. Для этого используйте функцию isNaN.

 

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


Примеры

Если month имеет значение больше 12, оно становится NaN, и выводится сообщение, показывающее верные значения.

 

var month = 13
if (month < 1 || month > 12) {
   month = Number.NaN
   alert("Month must be between 1 and 12.")
}


См. также

NaN, isNaN, parseFloat, parseInt.

 


NEGATIVE_INFINITY


 

Специальное числовое значение - отрицательная бесконечность. Это значение представляется как литерал "-Infinity"

без кавычек.

Свойство из

Number

Static, Read-only

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

Это значение ведёт себя несколько иначе, чем математическая бесконечность:

  • Любое положительное значение, включая POSITIVE_INFINITY, умноженное на NEGATIVE_INFINITY, является NEGATIVE_INFINITY.

  • Любое отрицательное значение, включая NEGATIVE_INFINITY, умноженное на NEGATIVE_INFINITY, является POSITIVE_INFINITY.

  • Нуль, умноженный на NEGATIVE_INFINITY, является NaN.

  • NaN, умноженный на NEGATIVE_INFINITY, является NaN.

  • NEGATIVE_INFINITY, разделённое на отрицательное значение, за исключением NEGATIVE_INFINITY, является POSITIVE_INFINITY.

  • NEGATIVE_INFINITY, разделённое на положительное значение, за исключением POSITIVE_INFINITY, является NEGATIVE_INFINITY.

  • NEGATIVE_INFINITY, разделённое на NEGATIVE_INFINITY или на POSITIVE_INFINITY, является NaN.

  • Любое число, разделённое на NEGATIVE_INFINITY, является Нулём.

Поскольку NEGATIVE_INFINITY это static-свойство в Number, Вы всегда используете его так: Number.NEGATIVE_INFINITY, а не как свойство созданного Вами Number-объекта.


Примеры

Здесь переменной smallNumber присваивается значение, которое меньше минимального значения. Если выполняется оператор if, smallNumber имеет значение "-Infinity", поэтому вызывается функция func1.

 

var smallNumber = -Number.MAX_VALUE*10
if (smallNumber == Number.NEGATIVE_INFINITY)
   func1()
else
   func2()


См. также

Infinity, isFinite.

 


POSITIVE_INFINITY


 

Специальное значение, представляющее бесконечность. Представляется как литерал "Infinity" без кавычек.

Свойство из

Number

Static, Read-only

Реализован в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


Описание

Это значение ведёт себя несколько иначе, чем математическая Бесконечность:

  • Любое положительное значение, включая POSITIVE_INFINITY, умноженное на POSITIVE_INFINITY, является POSITIVE_INFINITY.

  • Любое отрицательное значение, включая NEGATIVE_INFINITY, умноженное на POSITIVE_INFINITY, является NEGATIVE_INFINITY.

  • Нуль, умноженный на POSITIVE_INFINITY, является NaN.

  • NaN, умноженное на POSITIVE_INFINITY, является NaN.

  • POSITIVE_INFINITY, разделённое на любое отрицательное значение, за исключением NEGATIVE_INFINITY, является NEGATIVE_INFINITY.

  • POSITIVE_INFINITY, разделённое на любое положительное значение, за исключением POSITIVE_INFINITY, является POSITIVE_INFINITY.

  • POSITIVE_INFINITY, делённое на NEGATIVE_INFINITY или на POSITIVE_INFINITY, является NaN.

  • Любое число, делённое на POSITIVE_INFINITY, является Нулём.

Поскольку POSITIVE_INFINITY это static-свойство в Number, Вы всегда используете его так: Number.POSITIVE_INFINITY, а не как свойство созданного Вами Number-объекта.


Примеры

 

Переменной bigNumber присваивается значение, которое больше максимального значения. Если выполняется оператор if, bigNumber имеет значение "Infinity", поэтому вызывается функция func1.

 

var bigNumber = Number.MAX_VALUE * 10
if (bigNumber == Number.POSITIVE_INFINITY)
   func1()
else
   func2()


См. также

Infinity, isFinite.

 


prototype


 

Представляет прототип для данного класса. вы можете использовать этот прототип для добавления свойств или методов всем экземплярам данного класса. о прототипах см. Function.prototype.

Свойство из

Number

Реализован в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262


 

 

toExponential


 

Возвращает строку, представляющую объект Number в экспоненциальной нотации.

Метод из

Number

Реализован в

JavaScript 1.5

Версия ECMA

ECMA-262, Edition 3


Синтаксис
toExponential([fractionDigits])


Параметр
fractionDigits

Целое, специфицирующее количество цифр после десятичной точки. По умолчанию - столько цифр, сколько необходимо для специфицирования числа.


Описание

Метод Number.prototype.toExponential возвращает строку, представляющую объект Number в экспоненциальной нотации, с одной цифрой перед десятичной точкой, округлённое до fractionDigits  после после десятичной точки. Если аргумент fractionDigits опущен, количество цифр после десятичной точки по умолчанию равно количеству цифр, необходимых для представления уникального значения.

 

Если Вы используете метод toExponential для числового литерала и этот числовой литерал не имеет экспоненты и десятичной точки, оставьте пространство перед точкой, предшествующей вызову метода, чтобы предотвратить интерпретацию этой точки как десятичной.

 

Если число имеет больше цифр, чем запрошено параметром fractionDigits, число округляется до ближайшего числа, представляемого цифрами fractionDigits . См. обсуждение округления значений в описании метода toFixed, которое применимо также к toExponential.


Примеры

var num=77.1234
alert("num.toExponential() is " + num.toExponential())   //
выводит 7.71234e+1
alert("num.toExponential(4) is " + num.toExponential(4)) //
выводит 7.7123e+1   
alert("num.toExponential(2) is " + num.toExponential(2)) //
выводит 7.71e+1
alert("77.1234.toExponential() is " + 77.1234.toExponential())
//выводит 7.71234e+1
alert("77 .toExponential() is " + 77 .toExponential())   //
выводит 7.7e+1


См. также

toFixed, toPrecision, toString.

 


toFixed


 

Возвращает строку, представляющую объект Number в нотации с фиксированной точкой.

Метод из

Number

Реализован в

JavaScript 1.5

Версия ECMA

ECMA-262, Edition 3


Синтаксис
toFixed([fractionDigits])


Параметр

fractionDigits

Целое, специфицирующее количество цифр после десятичной точки. По умолчанию - нуль.


Описание

Метод Number.prototype.toFixed возвращает строку, представляющую объект Number в нотации с фиксированной точкой, округлённый до количества цифр после десятичной точки, специфицированного fractionDigits..

 

Вывод toFixed может быть более точным, чем toString для некоторых значений, поскольку toString выводит только несколько значащих цифр, достаточных для отличения числа от соседних числовых значений.

 

Если число содержит больше цифр, чем специфицировано параметром fractionDigits , оно округляется до ближайшего числа, представляемого цифрами fractionDigits. Если число расположено точно посередине между двумя представимыми числами, оно округляется в сторону от нуля (в сторону увеличения - если оно положительное, в сторону уменьшения - если отрицательное). Таким образом:

 
0.124.toFixed(2) возвращает "0.12"

0.125.tofixed(2) возвращает "0.13", поскольку 0.125 это точно посередине между 0.12 и 0.13

0.126.tofixed(2) возвращает "0.13".

Следуя данному соглашению, можно ожидать, что 0.045.toFixed(2) возвратит  "0.05", но оно возвращает "0.04". Это происходит из-за того способа представления компьютером чисел с плавающей точкой IEEE 754. Стандарт IEEE 754 использует двоичные дроби (доли нуля и единицы после точки). Так же, как некоторые числа, такие как 1/3, не представляются точно десятичными дробями, другие числа, как 0.045, не представляются точно двоичными дробями. Стандарт IEEE 754 диктует, что 0.045 приближается до числа 0.04499999999999999833466546306226518936455249786376953125, которое может быть точно представлено как двоичная дробь. Это приближение ближе к 0.04, чем к 0.05, поэтому 0.045.toFixed(2) возвращает "0.04".


Примеры

var num=10.1234
alert("num.toFixed()  is " + num.toFixed())  //выводит  10
alert("num.toFixed(4) is " + num.toFixed(4)) //
выводит  10.1234  alert("num.toFixed(2) is " + num.toFixed(2)) //выводит  10.12


См. также

toExponential, toPrecision, toString/

 


toPrecision


 

Возвращает строку, представляющую Number-объект со специфицированной точностью.

Метод из

Number

Реализован в

JavaScript 1.5

Версия ECMA

ECMA-262, Edition 3


Синтаксис
toPrecision([precision])


Параметр
precision

Целое число, специфицирующее количество цифр после десятичной точки.


Описание

Метод Number.prototype.toPrecision возвращает строку, представляющую Number-объект в нотации с фиксированной точкой или экспоненциальной нотации, округлённый до значащих цифр precision .

 

Если Вы используете метод toPrecision для числовых литералов и числовой литерал не содержит экспоненты или десятичной точки, оставьте пространство перед точкой, предшествующей вызову метода, для предотвращения интерпретации этой точки как десятичной точки.

 

Если аргумент precision  отсутствует, поведение аналогично Number.prototype.toString.

 

Если число содержит больше цифр, чем запрошено параметром precision, число округляется до ближайшего числа, представляемого цифрами precision. См. в описании метода toFixed обсуждение округления чисел, применяемого также в toPrecision.


Примеры

var num=5.123456
alert("num.toPrecision()  is " + num.toPrecision())      //выводит 5.123456
alert("num.toPrecision(4) is " + num.toPrecision(4))     //
выводит 5.123
alert("num.toPrecision(2) is " + num.toPrecision(2))     //
выводит 5.1
alert("num.toPrecision(2) is " + num.toPrecision(1))     //
выводит 5
alert("num.toPrecision(2) is " + num.toPrecision(1))     //
выводит 5
alert("1250 .toPrecision() is " + 1250 .toPrecision(2))  //выводит 1.3e+3
alert("1250 .toPrecision(5) is " + 1250 .toPrecision(5)) //выводит 1250.0


См. также

toExponential, toFixed, toString/

 


toSource


 

Возвращает строку с исходным кодом объекта.

Метод из

Number

Реализован в

JavaScript 1.3


Синтаксис
toSource()


Параметры

Отсутствуют.


Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Number, toSource возвращает сроку, указывающую, что исходный код недоступен:

       function Number() {
          [native code]
       }

  • Для экземпляров Number, toSource возвращает строку исходного кода.

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.


См. также

Object.toSource.

 


toString


 

Возвращает строку, представляющую специфицированный Number-объект.

Метод из

Number

Реализован в

JavaScript 1.1

Версия ECMA

ECMA-262


Синтаксис
toString()
toString([radix])


Параметр
radix

Цело число в диапазоне от 2 до 36, специфицирующее базу для использования при представлении числовых значений.


Описание

Объект Number переопределяет метод toString объекта Object; он не наследует Object.toString. Для объектов Number, метод toString возвращает строковое представление объекта.

 

JavaScript вызывает метод toString автоматически, когда число представляется как текстовое значение или когда на число ссылаются в конкатенации строк.

 

Если Вы используете метод toString для числовых литералов и числовой литерал не содержит экспоненты и десятичной точки, оставьте пространство перед точкой, предшествующей вызову метода, для предотвращения интерпретации этой точки как десятичной точки.

 

Для Number-объектов и значений, встроенный метод toString возвращает строку, представляющую значение числа.

 

var howMany=10;
alert("howMany.toString() is " + howMany.toString())
alert("45 .toString() is " + 45 .toString())


См. также

toExponential, toFixed, toPrecision.

 


valueOf


 

Возвращает примитивное значение Number-объекта.

Метод из

Number

Реализован в

JavaScript 1.1

Версия ECMA

ECMA-262


Синтаксис
valueOf()


Параметры

Отсутствуют.


Описание

Метод valueOf объекта Number возвращает примитивное значение Number-объекта как данные числового типа.

 

Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.


Примеры

x = new Number();
alert(x.valueOf())      //выводит 0


См. также

Object.valueOf.

 

 

Назад    Вперёд 

Copyright © 2000 Netscape Communications Corp. Все права зарезервированы.

Дата последнего обновления: 28 сентября 2000 г.










Если необходимая Вам документация отсутствует на нашем сайте, то вы можете заказать ее.
Сообщите нам, и мы постараемся добавить ее как можно скорее.

Сайт принадлежит группе Luksian group






Rambler's Top100