Javascript.RU

toString

Синтаксис

object.toString()

Описание, примеры

Каждый объект обладает методом toString, который вызывается автоматически каждый раз, когда требуется строковое представление объекта.

Например, это произойдет в вызовах:

// alert требует строку,
// поэтому произойдет неявный вызов obj.toString
alert(obj) 

// операция объединения строк сделает строку из obj
var s = 'Объект в виде строки:'+obj

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

По умолчанию, если этот метод не перекрыт объектом-наследником Object - он возвращает "[object <тип объекта>]".

var o = new Object();
alert(o.toString())  // [object Object]

Каждый основной объект яваскрипт обладает своим собственным методом toString, например:

var d = new Date()
alert(d) // выведет d.toString()

Полезной практикой является перекрытие toString для новых типов объектов. Метод toString не получает аргументов и возвращает строку. Как правило, эта строка содержит основную информацию об объекте.

Пример: До перекрытия метода toString
function Dog(name,color) {
   this.name=name
   this.color=color
}

theDog = new Dog("Барбос","черный");

Если вызвать метод toString сейчас, то он вернет [object Object].

Для изменения этого поведения добавим в прототип свой метод toString:

Пример: После перекрытия метода toString
Dog.prototype.toString = function() {
  return "Собака " + this.name + ", цвет:" + this.color
}

theDog = new Dog("Барбос","черный");

alert(theDog) // => "Собака Барбос, цвет: черный"

Каждый раз, когда объект theDog будет использован в качестве строки, яваскрипт автоматически вызовет метод toString, который вернет "Собака Барбос, цвет: черный".


Автор: yesnik, дата: 7 апреля, 2013 - 12:06
#permalink

Также стоит упомянуть, что эта функция позволяет пребразовать число к различным системам счисления:
number.toString( [radix] ),
где radix - целое число от 2 до 36, обозначающее систему счисления для чисел

var a = 9;
a.toString(16); // '9'
var b = 10;
b.toString(16); // 'a'
var с = 2;
с.toString(2); // '10'

Автор: Гость (не зарегистрирован), дата: 11 мая, 2017 - 17:04
#permalink

В последнем коде ошибка.
Строка 2:

var a = 9;
a.toString(16); // '9'

// Должно быть 

a.toString(10);

Автор: Гость (не зарегистрирован), дата: 28 июля, 2017 - 01:42
#permalink

Ошибок нет, т.к. число 9 будет записываться так в любой системе счисления с основанием 10 и выше.

var a = 9;
a.toString(2);  // '1001'
a.toString(6);  // '13'
a.toString(9);  // '10'
a.toString(10); // '9'
a.toString(16); // '9'
a.toString(20); // '9'

Автор: Гость (не зарегистрирован), дата: 25 февраля, 2019 - 18:36
#permalink

Супер!


 
Поиск по сайту
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Последние темы на форуме
Forum