Я пытаюсь выяснить, ООП JavaScript, я попробовал следующее, которое работает, но не удается, когда мне нужно внести изменения в переменную класса в конкретном экземпляре.
У меня есть «myname» со значением по умолчанию, затем я изменяю его для конкретного экземпляра, и в обработчике событий я печатаю его значение. Я получаю значение по умолчанию, а не обновленное.
как я могу изменить код для поддержки этого?
спасибо
function myClass () {}
myClass.prototype =
{
myname : "test",
test : function (filename)
{
var img = createSomething ();
img.container = this;
img.addEventListener('click', this.onClick);
},
onClick : function (e)
{
trace ("click: " + e.source.container.myname); // this will print "test" and not "dave"
}
};
var instance = new myClass ();
instance.myname = "dave";
instance.test();