在类中创建的变量在addEventListener函数中使用时变得不确定

时间:2019-04-23 17:18:33

标签: javascript class ecmascript-6 addeventlistener

我的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还是很陌生,所以实际上不知道发生了什么,也不知道为什么。你们当中有人知道发生了什么吗?

0 个答案:

没有答案