Нет, Object
указывается как часть языка Javascript , в то время как DOM является API , относящимся только к среде браузера, и используется для «доступа и обновлениясодержимое, структура и стиль документов " (W3C) .
Тем не менее, одна из причин, приведенных в этой статье в отношении расширения объектов DOM, по-прежнему относится к расширению собственных типов, таких как Object
- а именно вероятность столкновений.
Обтекание объекта относится к созданию нового объекта, который ссылается на оригинал, но предоставляет дополнительные функциональные возможности через новый объект-обертку.
Например, вместо расширения объекта DOM Element с помощью кросс-браузерной функции addClass
, например:
var element = document.getElementById('someId');
element.addClass = function (className) {
...
};
Вместо этого можно определить функцию-обертку:
var ElementWrapper = function (element) {
this.element = element;
};
И добавьте функцию к ее прототипу:
ElementWrapper.prototype.addClass = function (className) {
...
};
И "оберните" элементы следующим образом:
var element = document.getElementById('someId');
var wrapped = new ElementWrapper(element);
wrapped.addClass('someClass');