Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

Несмотря на то что метод

toString
обычно вызывается системой автоматически, бывают случаи, когда его требуется вызвать явно. Например, чтобы выполнить явное преобразование объекта в строку, если JavaScript не делает это автоматически:

у = Math.sqrt(x); // Вычислить число

ystr = у.toString; // Преобразовать его в строку

Относительно этого примера следует помнить, что числа имеют встроенный метод

toString,
обеспечивающий принудительное преобразование.

В других случаях вызов

toString
может оказаться полезным - даже в таком контексте, когда JavaScript выполняет преобразование автоматически. Явное использование метода
toString
может сделать программный код более понятным:

alert(my_obj. toString);

См. также

Object.constructor), Object.toLocaleString, Object.valueOf

Object.valueOf

элементарное значение указанного объекта

Синтаксис

объект.valueOf

Возвращаемое значение

Элементарное значение, связанное с объектом, если оно есть. Если с объектом не связано значение, метод возвращает сам объект.

Описание

Метод

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.

  • Читать дальше
  • 1
  • ...
  • 522
  • 523
  • 524
  • 525
  • 526
  • 527
  • 528
  • 529
  • 530
  • 531
  • 532
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: