var person = {
name:'gogo'
}
一般来说,访问对象属性时都使用点表示法,这也是很多面向对象语言中通用的语法。不过在javascript中,也可以使用方括号表示法来访问对象的属性。
在使用方括号语法时,应该把属性以字符串的形式放在方括号中,如:
alert(person["name"]); //gogo
alert(person.name); //gogo
从功能上说,这两种方法没有任何区别。但方括号语法有一个优点:可以通过变量来访问属性,如:
var propertyName = 'name';
alert(person[propertyName]); //gogo
还有!如果属性名中包含会导致语法错误的字符,或者属性名是关键字或者保留字,也可以使用方括号表示法。如:
person['first name'] ='gogo'; //first name包含一个空格
但是!!我们建议使用点表示法,除非必须使用变量来访问属性。
[]方括号访问的属性名时,可以在程序运行时创建和修改属性,点操作符就不行!
eg1:
var addr="";
for(i=0;i<4;i++){
addr += customer["address"+i]+'\n';
}
eg2:
function addStock(portfolio,stockname,shares){
portfolio[stockname]=shares;
}
参考:
1. javascript高级程序设计
2. javascript权威指南