利用__define_setter__和 __define_getter__ 定义动态的对象属性
2015-12-02 00:00
441 查看
摘要: 在最新的ES5 标准已经有语法可以支持 属性动态取值
ES5 标准 的例子
最终弹出的10行字符串都是随机出现的
2. 你也可以自已写,可以把
ES5 标准 的例子
var obj = { get foo() { return Math.random() > 0.5 ? 'foo' : 'bar'; } }; var sum = ''; for(var i=1; i<10; i++) { sum += obj.foo + "\n"; //'foo' or 'bar' randomly ? } alert(sum);
最终弹出的10行字符串都是随机出现的
foo foo foo bar bar bar foo foo foo |
function Tester(str) { var colors = { red : ['red_', '_r'], green : ['red_', '_r'], gray : ['gray_', '_g'] }; var self = this; for(var i in colors) { var ars = colors[i]; self.__defineGetter__(i, function() { var rs = ars[0] + str + ars[1]; return rs; }); } } var t = new Tester("Hello!"); alert(t.red);
相关文章推荐
- centos7 安装samba
- 用版本控制系统来管理android studio项目时 配置忽略文件
- python调用wifi
- python 多参数处理
- android-通过StatFs获取文件系统的空间信息
- Java final 关键字
- 如何xcode6中创建pch文件
- 什么是反向链接?
- 监控linux的脚本
- angular之DI理解
- angular之cloak
- 关于如何在javascript中实现DI
- 舍入
- Java配置环境变量
- Spring Quartz与Spring Task总结
- js的异步调用
- 如何手动用Eclipse默认的keystore导出安卓应用
- hadoop的eclipse安装
- jsp调java代码输出图片
- 逆向O2O智能餐厅新玩法