1

我有一个 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 将按预期显示,所有子对象和属性都完好无损

-第二行:我将看到子对象 A,但是缺少“值”属性

-第三行:未定义。

我的问题是有人对可能导致这种情况发生的原因有任何想法吗?我很难解决这个问题,我什至不明白这怎么可能。我知道这应该在正常情况下工作。仅供参考:这是一个更大的主干应用程序的一部分,我也在其中使用 jquery mobile。这可能与这些框架之一有关吗?(实际代码太复杂,无法粘贴在这里,我只是想举个例子来说明发生了什么)。

4

2 回答 2

2

这对我有用:

var someObject = {
    A : { id : "323klj", name : "subObject1", value : "0" },
    B : { id : "63sdf", name : "subObjectB", value : "9" }
}
console.log(someObject.A.value); //returns 0
console.log(someObject.B.value); //returns 9

注意:复制粘贴您的文本我必须更改双引号,在我的浏览器中它们显示为“”所以我将它们更改为“

于 2013-01-31T13:09:38.653 回答
1

好吧,我最终使用了一种解决方法,所以我讨厌让其他人花时间在这个问题上并将其标记为已回答,但我仍然很困惑发生了什么......

于 2013-01-31T21:13:53.100 回答