В JavaScript я определил объект, как это:В объектно-ориентированном Javascript передать метод члена объекта в обработчик события
function myObject() {
this.x = 5;
window.addEventListener("resize", this.resizeHandler);
}
myObject.prototype.doSomething = function() {
alert(this.x);
}
myObject.prototype.resizeHandler = function() {
this.doSomething(); // Here occurs error.
}
var obj = new myObject();
Однако я бегу в сообщении об ошибке «Uncaught TypeError: не определено не является функцией» , Вопрос: «Почему?» Объяснение было бы здорово!
благодарит заранее.
* «Объяснение будет замечательным!» * Объяснение заключается в том, что вы передаете функцию, а не объект. Функции сами по себе являются объектами и могут передаваться и ссылаться как любой другой объект. Из-за этого вы можете иметь несколько объектов, ссылающихся на одну и ту же функцию, или на объект, ссылающийся на него. Нет такой вещи, как объект «владелец». Поскольку значение 'this' в функции обычно основано на том, как эта функция вызывается, вам необходимо вызвать ее таким образом, чтобы вы, неявно или явно,« рассказывали »функции, каково ее значение« this ». – 2014-09-28 18:57:00