Элементарное значение, связанное с объектом, если оно есть. Если с объектом не связано значение, метод возвращает сам объект.
Описание
Метод
valueOf
объекта возвращает элементарное значение, связанное с этим объектом, если оно есть. Для объектов типа
Object
элементарное значение отсутствует, и метод такого объекта возвращает сам объект.
Однако для объектов типа
Number
метод
valueOf
возвращает элементарное числовое значение, представляемое объектом. Аналогично он возвращает элементарное логическое значение, связанное с объектом
Boolean
, или строку, связанную с объектом
String
.
Программисту редко приходится явно вызывать метод
valueOf.
Интерпретатор JavaScript делает это автоматически всякий раз, когда встречает объект там, где ожидается элементарное значение. Из-за автоматического вызова метода
valueOf
фактически трудно даже провести различие между элементарными значениями и соответствующими им объектами. Оператор
typeof
, например, показывает различие между строками и объектами
String
, но с практической точки зрения они работают в JavaScript-коде эквивалентным образом.
Метод
valueOf
объектов
Number, Boolean
и
String
преобразует эти объекты-обертки в представляемые ими элементарные значения. Конструктор
Object
выполняет противоположную операцию при вызове с числовым, логическим или строковым аргументом: он «заворачивает» элементарное значение в соответствующий объект-обертку. В большинстве случаев JavaScript берет это преобразование «элементарное значение - объект» на себя, поэтому необходимость в таком вызове конструктора
Object
возникает редко.
Иногда программисту требуется определить специальный метод
valueOf
для собственных объектов. Например, определить объектный JavaScript-тип для представления комплексных чисел (вещественное число плюс мнимое число). Как часть этого объектного типа, можно определить методы для выполнения комплексного сложения, умножения и т.д. Еще может потребоваться возможность рассматривать комплексные числа как обычные вещественные путем отбрасывания мнимой части. Для этого можно сделать примерно следующее:
Complex.prototype.valueOf = new Function("return this.real");
Определив метод valueOf для собственного объектного типа Complex, можно, например, передавать объекты комплексных чисел в функцию Math.sqrt, которая вычислит квадратный корень из вещественной части комплексного числа.
См. также
Object. toString
parseFloat
преобразует строку в число
Синтаксис
parseFloat(s)
Аргументы
s Строка для синтаксического
разбора, которая должна быть преобразована в число.
Возвращаемое значение
Возвращает выделенное из строки число или NaN, если s не начинается с допустимого числа. В JavaScript 1.0, если строка s не может быть преобразована в число,
parseFloat
возвращает 0 вместо NaN.
Описание
Функция
parseFloat
выполняет синтаксический разбор строки и возвращает первое число, найденное в s. Разбор прекращается и значение возвращается, когда
parseFloat
встречает в s символ, который не является допустимой частью числа. Если s не начинается с числа, которое
parseFloat
может разобрать, функция возвращает значение NaN. Проверка на это возвращаемое значение выполняется функцией
isNaN.
Чтобы выделить только целую часть числа, используется функция
parseInt,
а не
parseFloat.
См. также
isNaN, parseInt
parseInt
преобразует строку в целое число
Синтаксис
parseInt(s)
parseInt(s, основание)
Аргументы
s
Строка для синтаксического разбора.
основание
Необязательный целочисленный аргумент, представляющий основание системы счисления анализируемого числа. Если этот аргумент отсутствует или равен 0, извлекается десятичное или шестнадцатеричное (если число начинается с префикса «0х» или «0Х») число. Если этот аргумент меньше 2 или больше 36,
parseInt
возвращает NaN.
Возвращаемое значение
Возвращается извлекаемое число (NaN, если s не начинается с корректного целого). В JavaScript 1.0, если невозможно выполнить синтаксический разбор строки s,
parseInt
возвращает 0 вместо NaN.
Описание
Функция
parseInt
выполняет синтаксический разбор строки s и возвращает первое число (с необязательным начальным знаком «минус»), найденное в s. Разбор останавливается и значение возвращается, когда
parseInt
встречает в s символ, не являющийся допустимой цифрой для указанного основания. Если s не начинается с числа, которое может быть проанализировано функцией
parseInt,
функция возвращает значение NaN. Проверка на это возвращаемое значение выполняется функцией
isNaN.
Аргумент основание задает основание извлекаемого числа. При основании, равном 10,
parseInt
извлекает десятичное число. Если этот аргумент равен 8, то извлекается восьмеричное число (состоящее из цифр от 0 до 7), а если 16 - шестнадцатеричное (цифры от 0 до 9 и буквы от А до F). Аргумент основание может быть любым числом от 2 до 36.