This question already has answers here:
JavaScript property access: dot notation vs. brackets?
(13个回答)
5年前关闭。
我尽力想出这个问题的名称,如果可以得到一些术语的帮助,我将对其进行更改。
我可以形容的最好方法是
因此,使用['']和之间有什么区别。 ?
我知道您只能使用。运行功能,但这是唯一的区别吗?
一种方法比另一种更快吗? (甚至一点?)
如果您事先知道属性,则绝对首选第二个。
请注意,您可以将它们混合并匹配:
我敢打赌,使用点表示法访问属性的速度更快,但是我没有实际的数据来支持这一点。
(13个回答)
5年前关闭。
我尽力想出这个问题的名称,如果可以得到一些术语的帮助,我将对其进行更改。
我可以形容的最好方法是
obj1 = {
"a":{"var":1},
"b":{"var":2},
"c":{"var":3}
}
// What's the difference between
resulta = obj1['a']['var']
// and...
resultb = obj1.a.var
因此,使用['']和之间有什么区别。 ?
我知道您只能使用。运行功能,但这是唯一的区别吗?
一种方法比另一种更快吗? (甚至一点?)
最佳答案
如果要动态构建对象的属性键,则第一个使用方括号的方法很方便:
var myDynamicKey = "a";
var result = obj[myDynamicKey]["var"];
var result = obj["someOtherKey_" + myDynamicKey]["var"];
如果您事先知道属性,则绝对首选第二个。
请注意,您可以将它们混合并匹配:
var result = obj[myDynamicKey].var;
我敢打赌,使用点表示法访问属性的速度更快,但是我没有实际的数据来支持这一点。