访问对象属性,点语法和方括号语法的区别
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]报错?
使用方括号语法时,应该将要访问的属性以字符串的形式放在方括号中,使用方括号语法的主要优点是可以通过变量来访问属性。