在JavaScript中,可以使用“ . ”点 和“ [ ] ”中括号 两种方式来访问对象的属性:
objectName.propertyName; // “ . ” 点
objectName["propertyName"] // “ [] ” 中括号
“ . ”点 和“ [ ] ”中括号的不同之处:
点操作符:
静态的。
右侧必须是一个以属性名称命名的简单标识符。
属性名用一个标识符来表示。
标识符必须直接出现再js程序中,它们不是数据类型,因此程序无法修改它们。
中括号操作符:
动态的。
中括号里必须是一个计算结果为字符串的表达式。
属性名通过字符串表示。
字符串是js的数据类型,在程序运行时可以修改和创建它们。
- 中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。
- 中括号运算符访问对象属性时需要用引号。点运算符不用。
- 中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。
- 中括号运算符可以用纯数字为属性名。点运算符不能。
- 中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。
“ [ ] ”中括号出现的三种形式:
var myArr = [1,2,3]; //1.表示数组
var a = myArr[0]; //2.表示数组下标的值
var myObj = { name:"John", age:"28" };
var b = myObj["name"]; //3.表示对象的属性