Документация JavaScript
| Документация DHTML | Документация Smarty | SVG/VML Графика и JavaScript
| Документация bash |
Глава 3.8. Примитивные встроенные объекты
JavaScript содержит глобальный объект, который является средой его исполняющей системы, а также следующие встроенные объекты:
Объект | Описание | Объект | Описание |
---|---|---|---|
Array | Массивы | Math | Математические функции и константы |
Boolean | Логические объекты | Number | Числовые объекты |
Date | Дата и время | Object | Прототип остальных объектов |
Error | Исключения | RegExp | Регулярные выражения |
Function | Функции | String | Строковые объекты |
В этой главе приведены описания глобального объекта и примитивных встроенных объектов Object, Function, Boolean и Number. Описания остальных встроенных объектов расположены в следующих главах.
3.8.1. Глобальный объект
Глобальный объект (Global) создается исполняющей системой JavaScript перед началом исполнения сценария. Это единственный объект, который не имеет имени, и потому доступ к его свойствам и методам осуществляется без имени объекта. По этой причине их иногда называют свойствами и методами верхнего уровня.
Свойство | Описание |
---|---|
Infinity | Специальное значение "бесконечность". |
NaN | Специальное значение "не число". |
undefined | Неопределенное значение. |
Метод | Описание |
---|---|
Boolean | Преобразует объект в логическое значение. |
decodeURI | Декодирует URI. |
decodeURIComponent | Декодирует компонент URI. |
encodeURI | Кодирует URI. |
encodeURIComponent | Кодирует компонент URI. |
escape | Преобразует строку в шестнадцатеричную кодировку Unicode. |
eval | Исполняет строку кода JavaScript. |
isFinite | Возвращает true, если аргумент является конечным числом. |
isNaN | Возвращает true, если аргумент равен NaN. |
Number | Преобразует объект в число. |
Object | Преобразует значение в объект. |
parseFloat | Преобразует строку в плавающее число. |
parseInt | Преобразует строку в целое число. |
String | Преобразует объект в строку. |
unescape | Преобразует шестнадцатеричную кодировку Unicode в строку. |
Свойство Infinity
Синтаксис: Infinity Атрибуты: { DontEnum, DontDelete }
Начальным значением свойства Infinity является значение Number.POSITIVE_INFINITY. Это значение обозначает положительную бесконечность и больше любого числа, включая его само. В частности, результат умножения любого числа на Infinity равен Infinity, а результат деления любого числа на Infinity равен 0. Равенство результата арифметической операции этому значению указывает на переполнение.
Свойство NaN
Синтаксис: NaN Атрибуты: { DontEnum, DontDelete }
Начальным значением свойства NaN является значение Number.NaN (Not a Number, "не число"). Это значение не совпадает ни с одним числом, включая себя, поэтому мы не можем проверить правильность числа, сравнивая его с NaN. Вместо этого нужно использовать методы isFinite и isNaN.
Некоторые методы JavaScript возвращают NaN, если их аргумент не является числом. Рекомендуется использовать это свойство в своих функциях точно так же.
Свойство undefined
Синтаксис: undefined Атрибуты: { DontEnum, DontDelete }
Начальным значением свойства undefined является значение undefined (неопределенное значение). Оно означает, что переменной не было присвоено никакого значения.
Метод Boolean
Синтаксис: Boolean(объект) Аргументы: объект любое выражение Результат: логическое значение
Метод Boolean преобразует аргумент в логическое значение по правилам, приведенным в п. 3.3.2.1.
Метод decodeURI
Синтаксис: decodeURI(строка) Аргументы: строка строковое выражение, содержащее кодированный URI Результат: новый строковый объект
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод decodeURI выполняет стандартную декодировку URI, закодированного методом encodeURI.
Метод decodeURIComponent
Синтаксис: decodeURIComponent(строка) Аргументы: строка строковое выражение, содержащее кодированный компонент URI Результат: новый строковый объект
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод decodeURIComponent выполняет стандартную декодировку отдельного компонента URI, закодированного методом encodeURIComponent.
Метод encodeURI
Синтаксис: encodeURI(строка) Аргументы: строка строковое выражение, содержащее URI Результат: новый строковый объект
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод encodeURI выполняет стандартную кодировку URI. При этом он не кодирует символы ":", "/", ";" и "?", считая их стандартными разделителями URI. Для кодировки этих символов следует пользоваться методом encodeURIComponent.
Например, оператор document.write(encodeURI("http://www.test.com?val=привет"))
выведет на экран обозревателя строку http://www.test.com?val=%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82.
Обратная декодировка URI производится методом decodeURI.
Метод encodeURIComponent
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Синтаксис: encodeURIComponent(строка) Аргументы: строка строковое выражение, содержащее компонент URI Результат: новый строковый объект
Метод encodeURIComponent выполняет стандартную кодировку отдельного компонента URI. При этом кодируются все символы, не принадлежащие к базовой латинице.
Этим методом не следует пользоваться для кодировки полного URI. Например, оператор document.write(encodeURIComponent("http://www.test.com?val=привет"))
выведет на экран обозревателя строку
http%3A%2F%2Fwww.test.com%3Fval%3D%D0%BF%D1%80%D0%B8%D0%B2%D0%B5%D1%82.
Обратная декодировка компонента URI производится методом decodeURIComponent.
Метод escape
Синтаксис: escape(строка) Аргументы: строка любое строковое выражение Результат: новый строковый объект
Метод escape преобразует входную строку в шестнадцатеричную кодировку Unicode.
При этом все символы, не являющиеся символами базовой латиницы, заменяются на их шестнадцатеричные
escape-коды %xx. Если код символа больше 255, то он заменяется на
%uxxxx. Например, оператор document.write(escape("Строка."))
выведет на экран обозревателя строку %u0421%u0442%u0440%u043E%u043A%u0430.
Примечания.
- Эта функция не должна использоваться для стандартной кодировки строк, содержащих URI. Вместо нее следует использовать методы encodeURI и encodeURIComponent.
- Обратное преобразование строки производится методом unescape.
Метод eval
Синтаксис: eval(строка) Аргументы: строка строковое выражение, содержащее программный код Результат: см. описание
Метод eval рассматривает входную строку как программный код JavaScirpt и исполняет его. Он позволяет динамически формировать операторы и выражения JavaScript для последующего выполнения.
Если аргументом метода eval является выражение, то он возвращает значение этого выражения, например:
var x = 10, y = 20; var z = eval("x + y + 1"); // z равно 31
Если аргументом метода eval являются операторы, то он выполняет эти операторы и возвращает значение undefined, например:
var z = eval("var myDate = new Date();"); // создается новая переменная myDate
Метод eval исполняется в том же контексте (глобальном или локальном), в котором он вызван; этим же контекстом определяется область действия создаваемых их переменных. Операция this также возвращает указатель на тот объект, который был текущим в момент вызова данного метода.
Метод isFinite
Синтаксис: isFinite(число) Аргументы: число любое числовое выражение Результат: логическое значение
Метод isFinite возвращает true, если значением его аргумента является число, отличное от NaN, положительной бесконечности и отрицательной бесконечности. В противном случае он возвращает false.
Метод isNaN
Синтаксис: isNaN(выражение) Аргументы: выражение любое выражение Результат: логическое значение
Метод isNaN возвращает true, если значением его аргумента является NaN. В противном случае он возвращает false.
Альтернативным способом проверки значения переменной на равенство NaN является сравнение ее с самой собой, поскольку NaN это единственное значение, которое не равно самому себе.
Метод Number
Синтаксис: Number(объект) Аргументы: объект любое выражение Результат: числовое значение
Метод Number преобразует аргумент в числовое значение по правилам, приведенным в п. 3.3.2.2.
Метод Object
Синтаксис: Object(значение) Аргументы: значение любое выражение Результат: объектное значение
Метод Object преобразует аргумент в объектное значение по правилам, приведенным в п. 3.3.2.4.
Метод parseFloat
Синтаксис: parseFloat(строка) Аргументы: строка любое строковое выражение Результат: числовое значение
Метод parseFloat преобразует входную строку в плавающее число. Если аргумент не может быть преобразован в плавающее число, то возвращается значение NaN. Примеры:
parseFloat("314e-2") // возвращает 3.14 parseFloat("3.14abc") // возвращает 3.14 parseFloat("abc") // возвращает NaN
Метод parseInt
Синтаксис: parseInt(строка [,основание]?) Аргументы: строка любое строковое выражение основание - любое числовое выражение Результат: числовое значение
Метод parseInt преобразует входную строку в целое число. Необязательный аргумент основание задает основание системы счисления и должен иметь значение, больше или равное 2.
Если основание задано, то parseInt преобразует входную строку в число с данным основанием. При этом в системах счисления с основанием, большим 10, цифры, большие девяти, задаются латинскими буквами (A = 10, B = 11, , Z = 35). Формат чисел для оснований, больших 36, не определен.
Если основание не задано, то parseInt преобразует входную строку в число по следующим правилам:
- если строка начинается с 0x, то число считается шестнадцатеричным;
- если строка начинается с 0, то число считается восьмеричным;
- в остальных случаях число считается десятичным.
Если аргумент не может быть преобразован в целое число, то возвращается значение NaN. Примеры:
parseInt("0xF"); // возвращает 15 parseInt("017"); // возвращает 15 parseInt("08"); // возвращает 0 parseInt("15.99", 10); // возвращает 15 parseInt("FXX", 16); // возвращает 15 parseInt("1111", 2); // возвращает 15 parseInt("15*3"); // возвращает 15 parseInt("Hello", 8); // возвращает NaN
Метод String
Синтаксис: String(объект) Аргументы: объект любое выражение Результат: строковое значение
Метод String преобразует аргумент в строковое значение по правилам, приведенным в п. 3.3.2.3. Если аргументом является объект, то этот метод возвращает то же значение, что и метод toString данного объекта.
Метод unescape
Синтаксис: unescape(строка) Аргументы: строка любое строковое выражение Результат: новый строковый объект
Метод unescape преобразует строку в шестнадцатеричной кодировке Unicode в
текстовую. Формат исходной строки описан в методе escape.
Эта функция используется, в частности, для стандартной декодировки строк, содержащих URI.
Например, оператор document.write(unescape("%u0421%u0442%u0440%u043E%u043A%u0430."))
выведет на экран обозревателя текст Строка.
3.8.2. Объекты общего вида: объект Object
Объект Object это примитивный объектный тип, производными которого являются все остальные объекты языка JavaScript. Он имеет две формы конструктора:
new Object() new Object(значение)
Здесь значение любое выражение, задающее примитивное значение объекта. Если оно не указано, то создается пустой объект. Для создания пустого объекта можно также использовать инициализатор объекта:
{}
Примеры:
var a = new Object(); // пустой объект var b = {}; // то же самое var c = new Object(true); // примитивное значение объекта true
Объект Object содержится во всех объектах JavaScript, поэтому все его методы и свойства им доступны. Методы данного объекта могут быть переопределены в пользовательских объектах.
Свойство | Описание | Член прототипа |
---|---|---|
constructor | Конструктор, который создал объект. | Да |
prototype | Ссылка на прототип класса объектов. | Да |
Метод | Описание | Член прототипа |
---|---|---|
hasOwnProperty | Проверяет наличие заданного свойства. | Да |
isPrototypeOf | Проверяет, является ли объект прототипом данного объекта. | Да |
propertyIsEnumerable | Проверяет наличие заданного итерируемого свойства. | Да |
toLocaleString | Преобразует объект в строку с учетом формата операционной системы. | Да |
toString | Преобразует объект в строку. | Да |
valueOf | Возвращает примитивное значение объекта. | Да |
Свойство constructor
Синтаксис: объект.constructor Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства constructor является функция, которая была конструктором данного объекта. Подчеркнем, что это не текстовая строка, содержащая имя функции, а именно функция (точнее, ссылка на нее). Примеры:
function Tobacco(name) { this.name=name } theTobacco = new Tobacco("Camel") if (theTobacco.constructor == Tobacco) ( ... } document.write("theTobacco.constructor: " + theTobacco.constructor)
Последний оператор примера выведет на экран обозревателя текст:
theTobacco.constructor: function Tobacco(name) { this.name=name }
Свойство prototype
Синтаксис: объект.prototype Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства prototype является ссылка на прототип данного объекта. Прототип используется для динамического добавления или удаления свойств и методов класса объектов. Подробности и примеры см. в п. 3.7.1.5.
Прототипы встроенных объектов имеют атрибут ReadOnly. В данном случае это означает, что изменять его набор свойств можно, но заменить прототип встроенного объекта нельзя. С другой стороны, прототипы пользовательских объектов допускают присваивание; тем самым мы задаем, какой объект является прототипом данного.
Метод hasOwnProperty
Синтаксис: объект.hasOwnProperty(имя) Аргумент: имя любое строковое выражение Результат: логическое значение
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод hasOwnProperty возвращает true, если объект имеет свойство с данным именем, и false в противном случае. Этот метод не проверяет наличие свойства по цепочке прототипов; указанным свойством должен обладать именно сам объект. Пример:
var a = new Array(); var b1 = a.hasOwnProperty("join"); // false var b2 = Array.prototype.hasOwnProperty("join"); // true
Метод isPrototypeOf
Синтаксис: объект.isPrototypeOf(имя) Аргумент: имя любое объектное выражение Результат: логическое значение
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод isPrototypeOf возвращает true, если имя является объектом и объект содержится в цепочке его прототипов, и false в противном случае. Пример:
var a = new Array(); var b = Array.prototype.isPrototypeOf(a); // true
Метод propertyIsEnumerable
Синтаксис: объект.propertyIsEnumerable(имя) Аргумент: имя любое строковое выражение Результат: логическое значение
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод propertyIsEnumerable возвращает true, если объект имеет свойство с данным именем и это свойство не имеет атрибута DontEnum, и false в противном случае. Этот метод не проверяет наличие свойства по цепочке прототипов; указанным свойством должен обладать именно сам объект.
Метод toLocaleString
Синтаксис: объект.toLocaleString() Результат: строковое значение
Метод toLocaleString преобразует объект в строковое значение, учитывая формат операционной системы. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта это имя данного класса объектов, т. е. совпадает с методом toString.
Метод toString
Синтаксис: объект.toString() Результат: строковое значение
Метод toString преобразует объект в строковое значение. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта это имя данного класса объектов.
Этот метод автоматически вызывается исполняющей системой JavaScript всякий раз, когда требуется неявное преобразование объекта в строку.
Метод valueOf
Синтаксис: объект.valueOf() Результат: зависит от объекта
Метод valueOf возвращает примитивное значение объекта. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта это имя данного класса объектов.
Обычно этот метод вызывается исполняющей системой JavaScript неявно при выполнении автоматического преобразования типов.
3.8.3. Функции: объект Function
Объект Function это прототип функциональных объектов. Он может быть создан двумя способами:
function имя(аргументы?) { операторы } var имя = new Function ([аргументы,]? операторы)
Здесь имя имя функции, аргументы необязательный список формальных аргументов функции через запятую, операторы операторы, образующие тело функции.
Первый вариант это декларация функции, описанная ранее. Сама по себе декларация функции не создает функционального объекта; его создание происходит в момент вызова этой функции. Второй вариант это вызов конструктора объекта Function, при котором функциональный объект создается явно. В этом случае и аргументы, и операторы должны быть текстовыми строками.
Например, для создания функции, возвращающей сумму двух аргументов, можно использовать следующие два варианта:
function sum(a, b) { return a + b; } var sum = new Function("a", "b", "return a + b");
В обоих случаях вызов функции sum осуществляется оператором типа sum(3, 5)
.
Свойство | Описание | Член прототипа |
---|---|---|
arguments | Локальный объект, описывающий вызов функции. | Да |
caller | Имя функции, вызвавшей данную функцию. | Да |
constructor | Конструктор, который создал объект. | Да |
length | Количество формальных аргументов функции. | Нет |
prototype | Ссылка на прототип класса объектов. | Нет |
Метод | Описание | Член прототипа |
---|---|---|
apply | Применяет метод одного объекта к другому. | Да |
call | Вызывает метод одного объекта из другого. | Да |
toString | Преобразует функцию в строку. | Да |
valueOf | Возвращает примитивное значение объекта. | Да |
Свойство caller
Синтаксис: функция.caller Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства caller является ссылка на функцию, вызвавшую данную функцию. Если данная функция была вызвана с верхнего уровня сценария, то его значение null. Если это свойство используется в контексте, предполагающем его преобразование в строку, то результатом будет функция.caller.toString(), т. е. текст декларации вызвавшей функции. Пример: следующий сценарий
function sum(a, b) { document.write(sum.caller); // автоматическое преобразование в строку return a + b; } function test() { return sum(1, 2); } test();
выведет на экран обозревателя строку function test() { return sum(1, 2); }.
Свойство length
Синтаксис: функция.length Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства length является количество формальных аргументов функции, т. е. количество аргументов, указанных в ее декларации. Количество фактических аргументов определяется в момент вызова функции и содержится в свойстве функция.arguments.length. Пример: следующий сценарий
function sum(a, b) { document.write(sum.length); return a + b; } var x = sum(1, 2);
выведет на экран обозревателя число 2.
Метод apply
Синтаксис: функция.apply(объект[,массив]?) Аргументы: объект любое объектное выражение массив массив аргументов функции Результат: определяется функцией
Метод apply применяет метод одного объекта в контексте другого объекта. Точнее говоря, он вызывает функцию, задавая в качестве this указатель на объект, а в качестве фактических аргументов элементы массива. Если объект равен null или undefined, то значением this является глобальный объект. Если массив не указан, равен null или undefined, то функция вызывается без аргументов.
Этот метод удобен для создания цепочек конструкторов. Допустим, что мы написали конструктор объекта goods (товар) с двумя свойствами name (название) и price (цена). Теперь мы хотим написать конструктор объекта sales (продажи), который содержит объект goods и дополнительное свойство volume (объем продаж). С помощью метода apply это делается так:
function goods(name, price) { this.name = name; this.price = price; } function sales(name, price, volume) { this.volume = volume; goods.apply(this, arguments); } var meal = new sales("мука", 30, 700) document.write("Выручка: ", meal.name, " - ", meal.price * meal.volume, " руб.");
Этот сценарий выведет на экран обозревателя строку Выручка: мука - 21000 руб.
Ср. описание метода call.
Метод call
Синтаксис: функция.call(объект[,аргументы]?) Аргументы: объект любое объектное выражение аргументы список аргументов функции через запятую Результат: определяется функцией
Метод call вызывает метод одного объекта в контексте другого объекта. Точнее говоря, он вызывает функцию, задавая в качестве this указатель на объект, а в качестве фактических аргументов аргументы. Если объект равен null или undefined, то значением this является глобальный объект. Если аргументы не указаны, то функция вызывается без аргументов.
Этот метод удобен для создания цепочек конструкторов. Перепишем предыдущий пример с использованием метода call:
function goods(name, price) { this.name = name; this.price = price; } function sales(name, price, volume) { this.volume = volume; goods.call(this, name, price); } var meal = new sales("мука", 30, 700) document.write("Выручка: ", meal.name, " - ", meal.price * meal.volume, " руб.");
Ср. описание метода apply.
Метод toString
Синтаксис: функция.toString() Результат: строковое значение
Метод toString преобразует функцию в строковое значение. Результатом является строка, содержащая текст декларации вызвавшей функции. Пример: следующий сценарий
function sum(a, b) { document.write(sum.toString()); return a + b; } var x = sum(1, 2);
выведет на экран обозревателя строку function sum(a, b) { document.write(sum.toString()); return a + b; }.
3.8.4. Логические объекты: объект Boolean
Объект Boolean это объектная реализация примитивного булевского значения. Его конструктор имеет вид:
new Boolean(значение?)
Здесь значение любое логическое выражение, задающее примитивное значение объекта. Если оно не указано, то примитивное значение объекта равно false.
Свойство | Описание | Член прототипа |
---|---|---|
constructor | Конструктор, который создал объект. | Да |
prototype | Ссылка на прототип класса объектов. | Нет |
Метод | Описание | Член прототипа |
---|---|---|
toString | Преобразует объект в строку. | Да |
valueOf | Возвращает примитивное значение объекта. | Да |
Метод toString
Синтаксис: объект.toString() Результат: строковое значение
Метод toString преобразует логический объект в строковое значение. Если примитивное значение объекта равно true, то он возвращает строку "true", в противном случае строку "false".
Метод valueOf
Синтаксис: объект.valueOf() Результат: логическое значение
Метод valueOf возвращает примитивное значение логического объекта.
3.8.5. Числовые объекты: объект Number
Объект Number это объектная реализация примитивного числового значения. Его конструктор имеет вид:
new Number(значение?)
Здесь значение любое числовое выражение, задающее примитивное значение объекта. Если оно не задано, то примитивное значение объекта равно +0.
Свойство | Описание | Член прототипа |
---|---|---|
constructor | Конструктор, который создал объект. | Да |
MAX_VALUE | Наибольшее положительное значение числового типа. | Да |
MIN_VALUE | Наименьшее положительное значение числового типа. | Да |
NaN | Специальное значение "не число". | Да |
NEGATIVE_INFINITY | Специальное значение "отрицательная бесконечность". | Да |
POSITIVE_INFINITY | Специальное значение "положительная бесконечность". | Да |
prototype | Ссылка на прототип класса объектов. | Нет |
Метод | Описание | Член прототипа |
---|---|---|
toExponential | Преобразует примитивное значение объекта в строку, содержащую число в экспоненциальной форме. | Да |
toFixed | Преобразует примитивное значение объекта в строку, содержащую число с фиксированной запятой. | Да |
toLocaleString | Преобразует примитивное значение объекта в строку в формате операционной системы. | Да |
toPrecision | Преобразует примитивное значение объекта в строку, содержащую число с заданным количеством значимых цифр. | Да |
toString | Преобразует примитивное значение объекта в строку. | Да |
valueOf | Возвращает примитивное значение объекта. | Да |
Свойство MAX_VALUE
Синтаксис: Number.MAX_VALUE Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства MAX_VALUE является наибольшее положительное значение числового типа, которое приблизительно равно 1.7976931348623157E+308. Числа, большие этого значения, трактуются как Infinity.
Это статическое свойство объекта Number, поэтому для доступа к нему не нужно специально создавать числовой объект.
Свойство MIN_VALUE
Синтаксис: Number.MIN_VALUE Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства MIN_VALUE является наибольшее положительное значение числового типа, которое приблизительно равно 5E-324. Числа, меньшие этого значения, преобразуются в 0.
Это статическое свойство объекта Number, поэтому для доступа к нему не нужно специально создавать числовой объект.
Свойство NaN
Синтаксис: Number.NaN Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства NaN является значение NaN (Not a Number, "не число"). Это значение не совпадает ни с одним числом, включая себя, поэтому мы не можем проверить правильность числа, сравнивая его с NaN. Вместо этого нужно использовать методы isFinite и isNaN.
Это статическое свойство объекта Number, поэтому для доступа к нему не нужно специально создавать числовой объект.
Свойство NEGATIVE_INFINITY
Синтаксис: Number.NEGATIVE_INFINITY Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства NEGATIVE_INFINITY является число, меньшее чем -Number.MIN_VALUE. Это значение обозначает отрицательную бесконечность и меньше любого числа, включая его само. В частности, результат умножения любого числа на NEGATIVE_INFINITY равен NEGATIVE_INFINITY, а результат деления любого числа на NEGATIVE_INFINITY равен 0.
Это статическое свойство объекта Number, поэтому для доступа к нему не нужно специально создавать числовой объект.
Свойство POSITIVE_INFINITY
Синтаксис: Number.POSITIVE_INFINITY Атрибуты: { DontEnum, DontDelete, ReadOnly }
Значением свойства POSITIVE_INFINITY является число, большее чем Number.MAX_VALUE. Это значение обозначает положительную бесконечность и больше любого числа, включая его само. В частности, результат умножения любого числа на POSITIVE_INFINITY равен POSITIVE_INFINITY, а результат деления любого числа на POSITIVE_INFINITY равен 0.
Это статическое свойство объекта Number, поэтому для доступа к нему не нужно специально создавать числовой объект.
Метод toExponential
Синтаксис: объект.toExponential(число) Аргументы: число числовое выражение от 0 до 20 включительно Результат: строковое значение
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод toExponential возвращает строку, содержащую экспоненциальную форму значения объекта. Эта строка содержит одну цифру перед десятичной запятой и заданное число цифр после запятой. Если аргумент число не определен, то число цифр определяется по правилам, приведенным в п. 3.3.2.3.
Например, оператор document.write(Math.PI.toExponential(4))
выведет на экран обозревателя
текст 3.1416e+0.
Метод toFixed
Синтаксис: объект.toFixed(число) Аргументы: число числовое выражение от 0 до 20 включительно Результат: строковое значение
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод toFixed возвращает строку, содержащую значение объекта в форме с фиксированной запятой. Эта строка содержит заданное число цифр после запятой. Если аргумент число не определен, то он принимается равным нулю.
Например, оператор document.write(Math.PI.toFixed(4))
выведет на экран обозревателя
текст 3.1416.
Метод toLocaleString
Синтаксис: объект.toLocaleString() Результат: строковое значение
Поддержка: Поддерживается с версии 3.0. Не поддерживается.
Метод toLocaleString преобразует числовой объект в строковое значение по правилам, приведенным в п. 3.3.2.3. При этом учитывается формат операционной системы, т. е. символ десятичной запятой и разделитель между тысячами.
Метод toPrecision
Синтаксис: объект.toPrecision(число) Аргументы: число числовое выражение от 1 до 21 включительно Результат: строковое значение
Поддержка: Поддерживается с версии 5.5. Не поддерживается.
Метод toPrecision возвращает строку, содержащую значение объекта с заданной точностью. Точнее говоря, эта строка содержит:
- либо число в экспоненциальной форме с одной цифрой перед десятичной запятой и число - 1 цифр после запятой;
- либо число с фиксированной запятой, состоящее из число значащих цифр.
Если аргумент число не определен, то возвращается результат метода toString.
Например, оператор document.write(Math.PI.toPrecision(4))
выведет на экран обозревателя
текст 3.142.
Метод toString
Синтаксис: объект.toString(основание?) Аргументы: основание любое числовое выражение Результат: строковое значение
Метод toString преобразует числовой объект в строковое значение по правилам, приведенным в п. 3.3.2.3.
Необязательный аргумент основание задает основание системы счисления и должен иметь значение, больше или равное 2. Если он не задан, то считается равным 10. Метод toString преобразует число в строку в данной системе счисления. При этом в системах счисления с основанием, большим 10, цифры, большие девяти, задаются латинскими буквами (A = 10, B = 11, , Z = 35). Формат чисел для оснований, больших 36, не определен.
Метод valueOf
Синтаксис: объект.valueOf() Результат: числовое значение
Метод valueOf возвращает примитивное значение числового объекта.