除了显而易见的事实,即第一种形式可以使用变量而不仅仅是字符串文字,是否有任何理由使用其中一种,如果是这样,在哪种情况下呢?
在代码中:
// Given:
var foo = {'bar': 'baz'};
// Then
var x = foo['bar'];
// vs.
var x = foo.bar;
Run Code Online (Sandbox Code Playgroud)
上下文:我编写了一个生成这些表达式的代码生成器,我想知道哪个更好.
使用[]和.访问数组或对象属性的真正区别是什么?哪一个使用?
另外为什么.运营商不允许索引属性?
var myObj = {"suppliers":[{"name":"supplier1","12m":"0.08","24m":"0.06"}]};
alert(myObj.suppliers[0].12m);
Run Code Online (Sandbox Code Playgroud)
是否有不同的方法来获取此属性,或者我应该不使用以数字开头的键?
它将是类似数组的对象,但为什么我们不能用点表示法而不是括号表示法来访问它?
function testArray (rat){
return typeof arguments;
}
console.log(testArray("test")); // object
function testArray (rat){
return arguments.0; //[0] is work
}
console.log(testArray("test")); // error
Run Code Online (Sandbox Code Playgroud)