文档章节

利用__define_setter__和 __define_getter__ 定义动态的对象属性

小骏骏
 小骏骏
发布于 2015/12/02 17:06
字数 152
阅读 36
收藏 0
  1. 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

 2.  你也可以自已写,可以把

 
				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);


© 著作权归作者所有

共有 人打赏支持
小骏骏
粉丝 8
博文 111
码字总数 22428
作品 0
厦门
高级程序员
私信 提问
Ext 4 概述(二)之Ext Core

Ext Core 新型类系统 参考资源 Ext JS 4的倒数:动态加载和新的类机制(上) Ext JS 4的倒数:动态加载和新的类机制(下) Ext JS 4 的类机制主要围绕传统OO模型而设计,弥补了Prototype OO不...

sp42
2011/04/18
0
0
OC常量、变量、属性及其特性

1.Objective-C中声明常量使用关键字const。如:const double PI = 3.1514; 2.Objective-C中变量可以分为成员变量、局部变量和全局变量(用的很少,尽量不要用)。 //————————---------...

hejunbinlan
2016/05/16
77
0
Ext JS 4的倒数:动态加载和新的类机制 Count down to Ext JS 4: Dynamic Loading and New Class System (上)

Ext JS 4的倒数:动态加载和新的类机制 Count down to Ext JS 4: Dynamic Loading and New Class System (上) January 19, 2011 by Ed Spencer 翻译 Ext中文网(ajaxjs.com) Frank http:/......

sp42
2011/01/20
0
0
Objective-C Runtime 之动态方法解析实践

作为一种动态编程语言,Objective-C 拥有一个运行时系统来支持动态创建类,添加方法、进行消息传递和转发。利用 Objective-C 的 Runtime 可以实现一些很棒的功能。本篇文章会简单介绍一下消动...

力谱宿云
2016/04/11
670
1
IOS,objective_C中用@interface和 @property 方式声明变量的区别

转自http://www.cnblogs.com/letmefly/archive/2012/07/20/2601338.html 一直有疑问,在objective_C中声明变量会有 2种方式,今天有空和网友讨论了下,并且自己查了stackoverflew后算是稍微弄...

AAAAdler
2012/12/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Windows 环境下安装 Oracle JDK

本页面中描述了如何在 Window 环境下安装 Oracle JDK。 我们使用的版本是 Window 10,我们需要安装的版本是 Oracle JDK 8u191。 检查当前版本 在进行新的 JDK 安装之前,你需要检查下你本地的...

honeymose
14分钟前
0
0
用any-loader封装jQuery的XHR —— 随便写着玩系列

哎,都说没人用JQuery啦,叫你别写这个。 其实我也是好高骛远使用过npm上某个和某个很出名的XHR库,嗯,认识我的人都知道我喜欢喷JQ,以前天天喷,见面第一句,你还用JQ,赶紧丢了吧。但我也...

曾建凯
今天
4
0
聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
今天
3
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
5
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部