通过点操作符和中括号操作符访问对象属性
程序员文章站
2022-07-15 22:16:19
...
通常访问对象属性有两种方法:一种是点操作符(.
);另一种是中括号操作符([]
)
那么我们如何选择两种操作方式呢?
- 点操作符
当你知道属性名称的时候,使用点操作符(.
),下面是一个使用点操作符读取对象属性的例子:
var newObj = {
prop1: "obj1",
prop2: "obj2"
};
var prop1val = newObj.prop1; // obj1
var prop2val = newObj.prop2; // obj2
- 中括号操作符
第二种访问对象的方式就是中括号操作符([]
),如果你想访问的属性的名称有一个空格,这时你只能使用中括号操作符([]
)。
这是一个使用中括号操作符([])读取对象属性的例子:
var myObj = {
"First Name": "Zhang",
"Last Name Space": "Xiao",
"Nick": "Mei Mei"
};
myObj["First Name"]; // Zhang
myObj['Last Name Space']; // Xiao
myObj["Nick"]; // Mei Mei
提示:属性名称中如果有空格,必须把属性名称用单引号或双引号包裹起来。
中括号操作符的另外一个使用方式是用变量来访问一个属性。
当你需要遍历对象的属性列表或查表时,这种方式极为有用,下面是一个使用变量来访问属性的例子
var dogs = {
Fido: "Mutt", Hunter: "Doberman", Snoopie: "Beagle"
};
var myDog = "Hunter";
var myBreed = dogs[myDog];
console.log(myBreed); // "Doberman"
还有更多:
var someObj = {
propName: "John"
};
function propPrefix(str) {
var s = "prop";
return s + str;
}
var someProp = propPrefix("Name"); // someProp 现在的值为 'propName'
console.log(someObj[someProp]); // 输出 "John"
提示:当我们通过变量名访问属性的时候,不需要给变量名包裹引号。因为实际上我们使用的是变量的值,而不是变量的名称。