访问对象属性,点语法和方括号语法的区别

var person1 = {
  name : "yan1",
  age : 18
}
var person2 = {
  "name" : "yan2",
  "age" : 18
}
var propertyName = "name";
console.log(person1[propertyName]);//yan1

console.log(person1.name);//yan
console.log(person1["name"]);//yan
console.log(person1.age);//18
console.log(person1["age"]);//18

console.log(person2[name]);//undefine
console.log(person2["name"]);//yan2
console.log(person2.age);//18
console.log(person2["age"]);//18
console.log(person2[age]);//age is not defined ??? 为什么person2[name]不报错 而person2[age]报错?

使用方括号语法时,应该将要访问的属性以字符串的形式放在方括号中,使用方括号语法的主要优点是可以通过变量来访问属性。

posted on 2016-11-21 09:38  yanyiyi  阅读(719)  评论(0编辑  收藏  举报