我已经建立了与下面类似的JavaScript对象:无法访问对象的子属性。
“someObject” : {
“A” : { “id” : “323klj”, “name” : “subObject1”, “value” : “0” }
“B” : { “id” : “63sdf”, “name” : “subObjectB”, “value” : “9” }
}
我试图访问子对象的“值”属性。但是,当我像他们那样访问它们时
console.log(someObject.A.value)
结果是未定义的。
如果我尝试输出以下到控制台就是这样的(一个接一个行)
console.log(someObject)
console.log(someObject.A)
console.log(someObject.A.value)
在控制台中,我将看到以下内容:
- 第一行:someObject将显示如预期的所有子对象和属性完整
- 第二行:我会看到子对象的,但“价值”属性缺失
- 第三行:未定义。
我的问题是有人有什么想法可能会使这种情况发生?我很难解决这个问题,我不明白这怎么可能。我知道这应该在正常情况下工作。仅供参考:这是我使用jQuery Mobile的一个更大的骨干应用程序的一部分。这可能与这些框架之一有关吗? (实际的代码太复杂了,不能粘贴在这里,我只是想举一个例子来说明发生了什么)。
对象是怎样的生成?属性如何设置?是否可以通过Ajax填充“值”,并且您正在尝试访问*之前的属性*设置?一些控制台有一种评估对象的奇怪方式,所以你不应该相信每个输出。 –
感谢您的建议Felix – Occam