首先,这是一个对象——而不是一个数组。数组只能具有数字索引并具有特殊语义,例如.length
属性。现在,回答你的问题。
您所拥有的是一个普通的旧 JavaScript 对象,并且您正在为其分配属性。MDN 有一个关于它们的完整页面。这是一个摘要:
访问属性
使用o.key
oro["key"]
语法,例如:
var object = {
foo: "bar"
};
alert(object.foo); // displays "bar"
将对象用作查找表时,该o["key"]
语法特别方便,例如:
var translate = {
"hello": "bonjour",
"goodbye": "au revoir"
};
var word = "hello"; // received through some kind of user input
alert(translate[word]); // displays "bonjour"
设置属性
类似于访问属性,但现在您将它们放在分配的左侧。属性是否已经存在并不重要,它会在必要时创建。
var object = {};
object.foo = "bar";
alert(object.foo); // still "bar"
删除属性
使用delete
语句。
var object = {
foo: "bar"
}
alert(object.foo); // displays "bar"
delete object.foo;
alert(object.foo); // displays "undefined"
alert(object.foo === undefined); // displays true