好吧,所以我在发布之前搜索了一下...没有运气(或者也许我只是愚蠢的)。OOO javascript:对象自引用返回undefined,但控制台显示它存在
我有这个数组我称之为“myArray的”我物体推到它填充一些变量:
myArray.push({
time : (y.moveTime - y.startTime),
pos : y.move,
last : myArray[y.recents.length-1].time
});
我的问题是,为什么萤火虫抱怨“最后一个”变量:“遗漏的类型错误:无法读取未定义的的属性'时间'“。如果我做
last : myArray[y.recents.length-1]
一切都很好。
一个观察我不明白: 我有“.time”引用时该数组为空,但如果我删除它,数组已满。
我在这里错过了什么?我不明白这一点:(
感谢任何指针。
我应该补充一点,我明白,这个数组中的第一个项目将具有“未定义”的“最后”变量,因为它没有任何可引用的地方。 – tim 2012-04-03 23:59:07
您是否检查过“myArray [y.recents.length - 1]”存在并且不是“未定义”? – 0x499602D2 2012-04-03 23:59:27
@tim您在自己的评论中有答案:对于第一个项目'myArray [y.recents.length-1]'是未定义的,而'undefined.time'失败。 – Niko 2012-04-04 00:06:29