Оглавление | Назад | Вперёд | Индекс

Number

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

Объект ядра

Реализован в

JavaScript 1.1, NES 2.0

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

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

Версия ECMA

ECMA-262

Создание

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

new Number(value)

Параметр

value

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

Описание

В основном объект 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-объекту.

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

Метод Описание
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, Только для чтения

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

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, Только для чтения

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

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Описание

Свойство 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()

NaN


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

Свойство из

Number

Только для чтения

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

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, Только для чтения

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

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Описание

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

Поскольку 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, Только для чтения

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

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Описание

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

Поскольку 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

toSource


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

Метод из

Number

Реализован в

JavaScript 1.3

Синтаксис

toSource()

Параметры

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

Описание

Метод 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 автоматически, когда число представляется как текстовое значение или когда на число делается ссылка при конкатенации строк.

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

Можно использовать toString с числовыми значениями, но не со числовыми литералами:

// Следующие две строки верны

var howMany=10
alert("howMany.toString() is " + howMany.toString())
// Следующая строка даст ошибку

alert("45.toString() is " + 45.toString())

valueOf


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

Метод из

Number

Реализован в

JavaScript 1.1

Версия ECMA

ECMA-262

Синтаксис

valueOf()

Параметры

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

Описание

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

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

Примеры

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

См. также

Object.valueOf
Оглавление | Назад | Вперёд | Индекс

Дата последнего обновления: 28 мая 1999 года.
Copyright (c) 1999 Netscape Communications Corporation

Hosted by uCoz