Каждый объект обладает методом toString, который вызывается автоматически каждый раз, когда требуется строковое представление объекта.
Например, это произойдет в вызовах:
Выделить все
// alert требует строку,// поэтому произойдет неявный вызов obj.toStringalert(obj)// операция объединения строк сделает строку из objvar 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=namethis.color=color
}
theDog = new Dog("Барбос","черный");
Если вызвать метод toString сейчас, то он вернет [object Object].
Для изменения этого поведения добавим в прототип свой метод toString:
Каждый раз, когда объект theDog будет использован в качестве строки, яваскрипт автоматически вызовет метод toString, который вернет "Собака Барбос, цвет: черный".
Это интересно
На многих сайтах для подтверждения того, что вы являетесь реальным человеком, а не роботом, нужно решить так называемую «капчу» — например, распознать деформированные буквы на картинке. Среди вариантов реализации этих систем выделяется reCAPTCHA, где пользователю предлагается ввести два слова, которые взяты из отсканированных книг. Одно слово читается легко, и именно по нему производится проверка, а второе слово значительно сложнее, причём его правильность не анализируется, так как оно не распознано автоматической системой сканирования. Эти слова предлагаются разным людям, а затем система принимает тот вариант, который вводится наиболее часто — таким образом миллионы пользователей интернета помогают компьютерам в оцифровке старых книг.