![]() |
|
Библиотека RTFM
ОписаниеОбъект
Свойства
JavaScript 1.2:
Например,
Вы можете конвертировать любой объект в число, используя функцию верхнего уровня
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Свойство |
Описание |
|---|---|
constructor | |
MAX_VALUE | |
MIN_VALUE | |
NaN | |
NEGATIVE_INFINITY | Специальное значение, представляющее отрицательную бесконечность; возвращается при переполнении. |
POSITIVE_INFINITY |
Специальное значение, представляющее бесконечность; возвращается при переполнении. |
prototype |
Метод |
Описание |
|---|---|
toExponential | Возвращает строку, представляющую число в экспоненциальной нотации. |
toFixed | Возвращает строку, представляющую число в нотации с фиксированной точкой. |
toPrecision | Возвращает строку, представляющую число специфицированной точности с фиксированной точкой. |
toSource |
Возвращает литерал объекта, представляющий специфицированный |
toString |
Возвращает строку, представляющую специфицированный объект.
Переопределяет метод |
valueOf |
Возвращает примитивное значение специфицированного объекта.
Переопределяет метод |
Кроме того, этот объект наследует методы watch
и unwatch из Object.
Свойства объекта Number для присвоения значений различным числовым переменным:
biggestNum = Number.MAX_VALUE;
smallestNum = Number.MIN_VALUE;
infiniteNum = Number.POSITIVE_INFINITY;
negInfiniteNum = Number.NEGATIVE_INFINITY;
notANum = Number.NaN;
Создаётся 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 ("underflow\подводные-значения"),
конвертируются до 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, является Нулём.Поскольку 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" без кавычек.
Это значение ведёт себя несколько иначе, чем математическая Бесконечность:
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()
Представляет прототип для данного класса. вы можете использовать этот прототип
для добавления свойств или методов всем экземплярам данного класса. о прототипах
см. Function.prototype.
Возвращает строку, представляющую объект Number в экспоненциальной нотации.
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+1toFixed, toPrecision,
toString.
Возвращает строку, представляющую объект Number в нотации с фиксированной точкой.
toFixed([fractionDigits])
fractionDigits | Целое, специфицирующее количество цифр после десятичной точки. По умолчанию - нуль. |
Метод Number.prototype.toFixed
возвращает строку, представляющую объект Number в нотации с фиксированной точкой,
округлённый до количества цифр после десятичной точки, специфицированного fractionDigits..
Вывод toFixed может быть более точным, чем toString
для некоторых значений, поскольку toString
выводит только несколько значащих цифр, достаточных для отличения числа от соседних числовых значений.
Если число содержит больше цифр, чем специфицировано параметром fractionDigits , оно округляется до ближайшего числа, представляемого цифрами fractionDigits. Если число расположено точно посередине между двумя представимыми числами, оно округляется в сторону от нуля (в сторону увеличения - если оно положительное, в сторону уменьшения - если отрицательное). Таким образом:
Следуя данному соглашению, можно ожидать, что 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.12toExponential, toPrecision,
toString/
Возвращает строку, представляющую Number-объект со специфицированной точностью.
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.0toExponential,
toFixed, toString/
Возвращает строку с исходным кодом объекта.
toSource()Отсутствуют.
Метод toSource возвращает следующие значения:
Number, toSource
возвращает сроку, указывающую, что исходный код недоступен:Number, toSource возвращает строку исходного кода.Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
Возвращает строку, представляющую специфицированный Number-объект.
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.
Возвращает примитивное значение Number-объекта.
valueOf()
Метод valueOf объекта Number
возвращает примитивное значение Number-объекта как данные числового типа.
Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.
x = new Number();
alert(x.valueOf()) //выводит 0
Copyright © 2000 Netscape Communications Corp. Все права зарезервированы.
Дата последнего обновления: 28 сентября 2000 г.
Сайт принадлежит группе Luksian group