我的javascript类中包含以下代码:
export class Counter() {
constructor(name, startRow, isGlobal) {
this.name = name;
this.currentRow = startRow; // let's say this is 10 for now;
...
this._createCallbacks();
}
_createCallbacks() {
this.buttonCounterInc.addEventListener("click", this._incCounter, false);
}
_incCounter() { this.currentRow++; }
};
我知道那里不多,但是可以让您了解我所做的事情。如果我完全像上面一样,然后执行以下操作:
console.log(this.currentRow);
在_incCounter()中,指出未定义currentRow。但是,如果我在没有放入addEventListener的函数中执行相同的操作,它将显示10。
我对JavaScript还是很陌生,所以实际上不知道发生了什么,也不知道为什么。你们当中有人知道发生了什么吗?