在我的代码中,我需要声明notationArr 1,但我收到此错误:错误#1010:术语未定义且没有属性。
if ((notationArr[1].length == 2) && ((notationArr[1].charCodeAt(0) >= 97) && notationArr[1].charCodeAt(0) <= 104) && ((notationArr[1].charCodeAt(1) >= 49) && notationArr[1].charCodeAt(1) <= 56)) {
if (pieces.d3.man == "") {
pieces.notationArr[1].man.y = pieces.d4.y;
}
}
这里,碎片是一个对象。
答案 0 :(得分:2)
您的小代码段中的众多变量之一未正确声明和/或初始化。您只能访问属性或方法(每次在现有对象上编写something.something
,即。之后的部分),但是如果您尝试访问的变量包含null
则不能访问。
编辑
阅读了较长的代码段后,可能会有多个null
变量,但您的问题可能就是@AsTheWormTurns在上面的评论中提到的:
pieces.notationArr[1].man
将尝试访问名为notationArr的数组成员,而不是使用notationArr [1] 的内容评估来查找哪个成员要访问的部分。它应该是:
pieces[notationArr[1]].man