Свойство constructor
Значением свойства constructor является функция, которая была конструктором данного объекта. Подчеркнем, что это не текстовая строка, содержащая имя функции, а именно функция (точнее, ссылка на нее).
Примеры:
function Tobacco(name) { this.name=name }
theTobacco = new Tobacco("Camel") if (theTobacco.constructor == Tobacco) ( ... } document.write("theTobacco.constructor: " + theTobacco.constructor)
Последний оператор примера выведет на экран обозревателя текст:
theTobacco.constructor: function Tobacco(name) { this.name=name }
Свойство prototype
Значением свойства prototype является ссылка на прототип данного объекта. Прототип используется для динамического добавления или удаления свойств и методов класса объектов. Подробности и примеры см. в этом пункте.
Прототипы встроенных объектов имеют атрибут ReadOnly. В данном случае это означает, что изменять его набор свойств можно, но заменить прототип встроенного объекта нельзя. С другой стороны, прототипы пользовательских объектов допускают присваивание; тем самым мы задаем, какой объект является прототипом данного.
Метод hasOwnProperty
Синтаксис: | объект.hasOwnProperty(имя) | Аргумент: | имя - любое строковое выражение | Результат: | логическое значение |
Поддержка : | | Поддерживается с версии 5.5. | | | Не поддерживается. |
Метод hasOwnProperty возвращает true, если объект имеет свойство с данным именем, и false в противном случае. Этот метод не проверяет наличие свойства по цепочке прототипов; указанным свойством должен обладать именно сам объект.
Пример:
var a = new Array(); var b1 = a.hasOwnProperty("join"); // false var b2 = Array.prototype.hasOwnProperty("join"); // true
Метод isPrototypeOf
Синтаксис: | объект.isPrototypeOf(имя) | Аргумент: | имя - любое объектное выражение | Результат: | логическое значение |
Поддержка : | | Поддерживается с версии 5.5. | | | Не поддерживается. |
Метод isPrototypeOf возвращает true, если имя является объектом и объект содержится в цепочке его прототипов, и false в противном случае. Пример:
var a = new Array(); var b = Array.prototype.isPrototypeOf(a); // true
Метод propertyIsEnumerable
Синтаксис: | объект.propertyIsEnumerable(имя) | Аргумент: | имя - любое строковое выражение | Результат: | логическое значение |
Поддержка : | | Поддерживается с версии 5.5. | | | Не поддерживается. |
Метод propertyIsEnumerable возвращает true, если объект имеет свойство с данным именем и это свойство не имеет атрибута DontEnum, и false в противном случае. Этот метод не проверяет наличие свойства по цепочке прототипов; указанным свойством должен обладать именно сам объект.
Метод toLocaleString
Синтаксис: | объект.toLocaleString() | Результат: | строковое значение |
Метод toLocaleString преобразует объект в строковое значение, учитывая формат операционной системы. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта - это имя данного класса объектов, т. е. совпадает с методом toString.
Метод toString
Синтаксис: | объект.toString() | Результат: | строковое значение |
Метод toString преобразует объект в строковое значение. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта - это имя данного класса объектов.
Этот метод автоматически вызывается исполняющей системой JavaScript всякий раз, когда требуется неявное преобразование объекта в строку.
Метод valueOf
Синтаксис: | объект.valueOf() | Результат: | зависит от объекта |
Метод valueOf возвращает примитивное значение объекта. Результат зависит от объекта. По умолчанию возвращает строку "[object имя_объекта]", где имя_объекта - это имя данного класса объектов.
Обычно этот метод вызывается исполняющей системой JavaScript неявно при выполнении автоматического преобразования типов.
1 2 3 4 5 6
8 8 8
| |