Javascript中的“ this”被Window对象而不是我班上的“ this”覆盖

时间:2019-06-05 15:06:00

标签: javascript class

我创建了一个类,在构造函数中使用“ this”是可以的,我得到了对该对象的引用,但是在其他函数中,我意识到做了console.log(this),我得到了对Window对象的引用。这就是为什么我会收到类似“找不到功能xxx”的错误的原因。

class ScannerManager{

    constructor(doc, length) {
        this.doc = doc;
        this.length = length;
        this.scannerText = '';
        this.doc.addEventListener('keyup', this.listenBeforeEnter, false);
    }

    processInput() {
        alert(this.scannerText);
    }

    listenBeforeEnter(event) {
        console.log(this);
        if (!isValidInput(event.key)) 
            return 
        console.log(event.key);
        this.scannerText += event.key;
        console.log(this.scannerText);
        if (this.scannerText.length == this.length && !isNaN(this.scannerText))
            return
        return this.processInput();
    }
    isValidInput(input) {
        return ((input.length == 1) && input.match(/^[0-9a-z]+$/i));
    }
}

var scannerManager = new ScannerManager(document, 8);

我该如何解决?

0 个答案:

没有答案
相关问题