По причинам, я ищу исходный объект, который определяет addEventListener
. Начиная с XMLHttpRequest
, я обнаружил следующее:Какой объект «удерживает» addEventListener?
> Object.prototype.hasOwnProperty(XMLHttpRequest.prototype, 'addEventListener')
false
> XMLHttpRequest.prototype.__proto__
XMLHttpRequestEventTarget {}
> Object.prototype.hasOwnProperty(XMLHttpRequestEventTarget.prototype, 'addEventListener')
false
> XMLHttpRequestEventTarget.prototype.__proto__
EventTarget {}
> Object.prototype.hasOwnProperty(EventTarget.prototype, 'addEventListener')
false
> EventTarget.prototype.__proto__
Object {}
Как это возможно? addEventListener
, похоже, не определен ни в одном прототипе.
Чтобы быть ясным, я знаю, что эта функция является нативной функцией, но то, что я не понимаю, заключается в том, как со стандартной точки зрения свойство не доступно из какого-либо прототипа, но все же там, когда нам нужно Это.
Вау! мое мышление (ответ) было неправильным. –
_JS не имеет множественного наследования или интерфейсов _..... является ключевым примечанием здесь, я думаю. – Jai
Woopsie, хороший улов, теперь я чувствую себя глупо :(Хорошее объяснение! –