【发布时间】:2011-01-19 13:39:39
【问题描述】:
这是一个示例。我担心的是两者似乎都能胜任。他们更喜欢哪一个?
var fooArr = [{ "bar": {"blah": 9 } }];
for(var i in fooArr) {
var value = fooArr[i].bar.blah;
console.log(value); //checking in firebug console
}
var fooObj = { "bar": {"blah": 9 } };
for(var i in fooObj) {
var value = fooObj[i].blah;
console.log(value); //checking in firebug console
}
此外,以下似乎无效,任何避免数组表示法的方式。
var fooObj1 = {
{ "bar": { "blah": 9 } },
{ "bar": { "blah": 4 } },
{ "bar": { "blah":12} }
};
所以我不得不将上面的代码修改为下面的代码。对 Object 字面量过于执着是不是太糟糕了
var fooObj1 = {
1:{ "bar": { "blah": 9 } },
2:{ "bar": { "blah": 4 } },
3:{ "bar": { "blah":12} }
};
再次感谢那些帮助我查询的人。
【问题讨论】:
-
我已将此链接到一个现有问题,该问题部分回答了我的查询。 “...JavaScript 对象根本没有长度属性,只有数组有。如果您想知道在对象上定义的属性的数量,您必须遍历它们并计算它们...”stackoverflow.com/questions/4690520/…
-
为什么要避免使用数组表示法?看起来你想要一个对象列表。一个对象只是一堆名称/值对。在第二个示例中,您有 3 组没有名称的对象来引用它们。
标签: javascript object-literal javascript-objects