【发布时间】:2021-08-12 22:24:00
【问题描述】:
我在这里有一个 for-loop,这让我非常困惑,因为它抛出 cannot read property of null,即使它直接来自循环......
TypeError: Cannot read property 'eventManager' of null
HTMLDocument.eventManager
src/jsgame/game.js:30
27 |
28 | eventManager(event) {
29 | for (let key in this) {
> 30 | if (typeof this[key].eventManager === 'function') {
31 | ^ this[key].eventManager(event);
32 | }
33 | }
如果你明白我想要做什么,你有什么更好的方法来做这件事吗?
【问题讨论】:
-
第一件事可能是在
console.log("key", key)之前添加一行 - 这将告诉您它正在寻找但找不到的对象。也许您正在不按顺序加载此文件 -
添加您在哪里拨打
eventManager以及如何拨打电话。还要添加您正在使用的整个示例。 -
@Kinglish 啊,所以我在 addEventListener 中调用它,它肯定没有在正确的对象中查找?我该如何解决这个问题?
-
@Ayzrian 我在 document.addEventListener 中引用它。
-
请添加最小可重现示例,例如包含
eventManager函数的类和使用它的代码。
标签: javascript for-loop object