访问js对象属性的两种方法

树荫

在js中,访问对象属性的方式有两种,使用点操作符(.)或使用中括号操作符([])。

1、使用点操作符(.)来访问属性

objectName.propertyName

这里,objectName是对象名称,propertyName是属性名称。

例如student.name,表示访问student对象的name属性值。

2、使用中括号操作符([])来访问属性

objectName[propertyName]

例如student[‘name’]表示访问student对象的name属性值。

这两种对象属性的访问方式的不同之处主要有两点:

1、点操作符是静态的,只能是一个以属性名称命名的简单描述符,而且没办法修改;而中括号操作符是动态的,可以传递字符串或变量,而且还支持在运行时修改。

var student = {};
student.name = "小明";
var myName = 'name';
console.log(student.myName); // undefined 访问不到对应的属性
console.log(student[myName]); // 小明

2、点操作符有个局限,不能以数字作为属性名,但是中括号操作符可以。

var obj = {};
obj.1 = 1; // 抛异常 Unexpected number
obj[2] = 2;

不过,使用点操作符(.)来访问对象属性可以满足大部分的场景。遇到点操作符不能满足的场景,换用[]即可。