我正在使用这个ShowButton类,该类在MainClass中实例化。
调用构造函数时,我正在传递函数this.display
。
这里的问题是,当我单击按钮并调用函数display()
时,它返回的值是不确定的,它无法访问MainClass的this.name
。
当我调用`main.display()时,它会按预期返回“一些东西”,但是从我给ShowButton类提供的引用中调用它,则失败。
为什么会这样?我该如何解决?
class MainClass {
constructor() {
this.playButton = new ShowButton(this.display);
this.name = "some stuff";
}
display() {
console.log("calling display()");
console.log(this.name);
}
}
class ShowButton {
constructor(aPlayFunction) {
this.x = 100;
this.y = 100;
this.button = document.createElement('playButton');
this.button.innerHTML = 'play';
this.button.onclick = aPlayFunction;
document.body.appendChild(this.button);
}
}
let main = new MainClass();