我创建了一个类,在构造函数中使用“ 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);
我该如何解决?