欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过点操作符和中括号操作符访问对象属性

程序员文章站 2022-07-15 22:16:19
...

通常访问对象属性有两种方法:一种是点操作符(.);另一种是中括号操作符([])
那么我们如何选择两种操作方式呢?

  1. 点操作符

当你知道属性名称的时候,使用点操作符(.),下面是一个使用点操作符读取对象属性的例子:

var newObj = {
  prop1: "obj1",
  prop2: "obj2"
};
var prop1val = newObj.prop1; // obj1
var prop2val = newObj.prop2; // obj2

  1. 中括号操作符
    第二种访问对象的方式就是中括号操作符([]),如果你想访问的属性的名称有一个空格,这时你只能使用中括号操作符([])。

这是一个使用中括号操作符([])读取对象属性的例子:

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"

提示:当我们通过变量名访问属性的时候,不需要给变量名包裹引号。因为实际上我们使用的是变量的值,而不是变量的名称。