【学习笔记】函数高级使用技巧:建立函数队列

本文介绍了一种通过队列实现代码高度重用和动态属性添加的技术,包括如何构建队列、添加操作步骤、为对象动态添加属性以及遍历和输出属性的方法。通过实例演示,帮助读者理解代码逻辑,提升编程技能。

【殿堂之路】P68页

原文引用:“我有一个对象,我想根据不同的情况对它进行一系列的操作,但是,有时需要所有的操作,有时又需要一部分的操作。那么,这个技巧,就能保证代码的高度重用性和简洁性”

 1 //新建队列
 2 var funcAry:Array = new Array();
 3 
 4 //将需要的操作步骤加入队列中
 5 funcAry.push(aFunc);
 6 funcAry.push(bFunc);
 7 funcAry.push(cFunc);
 8 
 9 //创建一个对象,在程序后面为它动态添加属性a,b,cFuncExected;
10 var originObject:Object = new Object();
11 
12 //funcAry[i]是遍历funcAry里的元素,每一次遍历都把对象originObject传到函数abcFunc
13 //当中,在函数中为对象originObject动态添加属性
14 
15 for (var i:Number = 0; i<funcAry.length; i++)
16 {
17     funcAry[i](originObject);
18 }
19 
20 //在上一个循环中,已经为originObject添加了属性,在这个循环里,把originObject的
21 //属性逐一输出
22 for (var j in originObject)
23 {
24     //j是根据属性名逐一输出,originObject[j]是属性名对应的属性值
25     trace(j + ":" +originObject[j] );
26 }
27 
28 //定义a,b,cFunc三个函数,e作为参数,接受类型为Object的对象
29 function aFunc(e:Object)
30 {
31     trace("aFunc");
32     //动态添加属性aFuncExected,其值为:属性值1,下面的同理
33     e.aFuncExected = "属性值1";
34 }
35 
36 function bFunc(e:Object)
37 {
38     trace("bFunc");
39     e.bFuncExected = "属性值2";
40 
41 }
42 
43 function cFunc(e:Object)
44 {
45     trace("cFunc");
46     e.cFuncExected = "属性值3";
47 
48 }
49 
50 
51 /*输出如下:
52 aFunc
53 bFunc
54 cFunc
55 aFuncExected:属性值1
56 cFuncExected:属性值3
57 bFuncExected:属性值2
58 */

 

我的心得:

我终于一句一句地把代码看懂了。为了理解这里面的每一句代码的意思,我终于改掉之前只看代码,不动手的坏习惯。这次的突破,让自己彻底明白代码的意思,为自己感到开心。同时对遍历数组,for...in的用法有了更深刻的理解。

转载于:https://www.cnblogs.com/louisluo77/archive/2012/06/19/2555356.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值