如何解决只有一种方法 this.init() 在类中有效
在这里难住了。当我尝试调用 this.makeBoard();它给了我一个类型错误。任何帮助,将不胜感激。我没有包括我的其他方法,但是它们给出了相同的错误。
错误:类型错误:this.makeBoard 不是函数 在 HTMLInputElement
class Game {
constructor() {
this.init();
}
init() {
this.board = [];
this.currPlayer = 1;
this.button = document.querySelector("#submit");
this.button.addEventListener('click',function(e){
e.preventDefault();
const htmlBoard = document.querySelector('#board');
this.width = parseInt(document.querySelector('#width'));
this.height = parseInt(document.querySelector('#height'));
while (htmlBoard.firstChild) {
htmlBoard.removeChild(htmlBoard.firstChild)
}
this.makeBoard();
});
}
makeBoard() {
for (let y = 0; y < this.height; y++) {
this.board.push(Array.from({ length: this.width }));
}
}
}
new Game();
解决方法
document.querySelector()
返回元素对象而不是字符串。您可以使用 .innerText
在您的示例中,将 this.width
和 this.height
声明更改为。
this.width = parseInt(document.querySelector('#width').innerText)
this.height = parseInt(document.querySelector('#height').innerText)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。