访问对象属性的点表示法和方括号表示法的区别
2016-07-26 15:01
393 查看
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权威指南
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 设计模式---状态模式在web前端中的应用
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子