JavaScript属性访问:点符号与方括号?
除了显而易见的事实,第一种形式可以使用变量而不仅仅是字符串文字,是否有理由在另一种形式上使用另一种形式?如果是这样,在哪种情况下?
在代码中:
// Given:var foo = {'bar': 'baz'};
// Then
var x = foo['bar'];
// vs.
var x = foo.bar;
上下文:我已经编写了一个代码生成器来生成这些表达式,我想知道哪种更好。
回答:
var foo = myForm.foo[]; // incorrect syntax
var foo = myForm["foo[]"]; // correct syntax
包括非ASCII(UTF-8)字符,如myForm["ダ"]
。
for (var i = 0; i < 10; i++) {
someFunction(myForm["myControlNumber" + i]);
}
- 点符号的书写速度更快,阅读更清晰。
- 方括号表示法允许访问包含特殊字符的属性以及使用变量选择属性
不能与点符号一起使用的字符的另一个示例是 本身包含点的属性名称 。
例如,一个json响应可能包含一个名为的属性bar.Baz
。
var foo = myResponse.bar.Baz; // incorrect syntaxvar foo = myResponse["bar.Baz"]; // correct syntax
以上是 JavaScript属性访问:点符号与方括号? 的全部内容, 来源链接: utcz.com/qa/425741.html