Даёт возможность работать с числами. Объект Number
это оболочка для объектов примитивного типа.
JavaScript 1.2: модифицировано поведение конструктора JavaScript 1.3: добавлен метод | |
new Number(value)
value |
В основном объект Number
используется:
Number
-объект.
Свойства объекта Number
являются свойствами самого класса, а не
индивидуальными объектами Number
.
JavaScript 1.2: Number(x)
выдаёт теперь NaN
, а
не ошибку, если x
это строка, не содержащая правильно
сформированный числовой литерал. Например,
x=Number("three");
document.write(x + "<BR>");
Вы можете конвертировать любой объект в число путём использования функции
верхнего уровня Number
.
Свойство |
Описание
|
|
|
|
Специальное значение - отрицательная бесконечность; возвращается при переполнении.
Специальное значение - положительная бесконечность; возвращается при переполнении.
|
---|
Метод |
Описание
Возвращает литерал объекта, представляющий специфицированный Number-объект; Вы
можете использовать это значение для создания нового объекта. Переопределяет
метод
Возвращает строку, представляющую специфицированный объект. Переопределяет
метод
Возвращает примитивное значение специфицированного объекта. Переопределяет
метод |
---|
Кроме того, этот объект наследует методы 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"
Специфицирует функцию, которая создаёт прототип объекта. Обратите внимание, что значение этого свойства является ссылкой на саму функцию, а не строкой с именем функции.
См. Object.constructor
.
Максимальное значение, которое может быть представлено в JavaScript.
Свойство 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()
Минимальное положительное числовое значение, которое может быть представлено в JavaScript..
Свойство MIN_VALUE
это число, близкое к 0, а не наименьшее
отрицательное число, которое может быть представлено в JavaScript.
MIN_VALUE
имеет значение приблизительно 5e-324. Значения, которые
меньше MIN_VALUE
("отрицательное переполнение"), конвертируются в 0.
Поскольку MIN_VALUE
это static-свойство объекта Number
,
Вы всегда записываете его Number.MIN_VALUE
, а не как свойство Number
-объекта, созданного Вами.
Производится деление двух числовых значений. Если результат больше или равен MIN_VALUE
,
вызывается функция func1
; иначе вызывается функция func2
.
if (num1 / num2 >= Number.MIN_VALUE)
func1()
else
func2()
Специальное значение, представляющее Not-A-Number/Не-Число. Это значение представляется как литерал NaN без кавычек.
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
Специальное числовое значение, представляющее отрицательную бесконечность. Это
значение представляется как литерал -Infinity
без кавычек.
Это значение ведёт себя несколько иначе, чем математическая бесконечность:
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
даёт нуль/Zero.
Поскольку 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
Специальное числовое значение, представляющее бесконечность. Оно представлено
как литерал Infinity
без кавычек.
Это значение ведёт себя несколько иначе, чем математическая бесконечность:
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
, даёт Zero.
Поскольку 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
Представляет прототип для данного класса. Этот прототип можно использовать для
добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype
.
Возвращает строку с исходным кодом объекта.
toSource()
Метод toSource
возвращает следующие значения:
Number
метод toSource
возвращает следующую строку, указывающую на то, что исходный код недоступен:function Number() {
[native code]
}
Number
-экземпляров метод toSource
возвращает строку с исходным кодом.Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
Object.toSource
Возвращает строку, представляющую специфицированный Number-объект.
toString()
toString([radix])
radix | Целое число от 2 до 36, специфицирующее базу, используемую для представления числовых значений. |
Объект Number
переопределяет метод toString
объекта Object
; он не наследует Object.toString
.
Для Number
-объектов метод toString
возвращает строковое представление объекта.
JavaScript вызывает toString
автоматически, когда число
представляется как текстовое значение или когда на число делается ссылка при конкатенации строк.
Для Number
-объектов и значений встроенный
метод toString
возвращает строку, представляющую значение числа.
Можно использовать toString
с числовыми значениями, но не со
числовыми литералами:
// Следующие две строки верны
var howMany=10
alert("howMany.toString() is " + howMany.toString())
// Следующая строка даст ошибку
alert("45.toString() is " + 45.toString())
Возвращает примитивное значение Number-объекта.
valueOf()
Метод valueOf
объекта Number
возвращает примитивное значение Number-объекта как тип данных number.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
x = new Number();
alert(x.valueOf()) //выводит 0
Object.valueOf
Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999