作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] 呼叫大量且命名有规律的function
时间Thu Sep 2 23:51:27 2010
※ 引述《justaID (快乐崇拜)》之铭言:
: 请问我今天有 f1()~f100() 的function
: 想要依次对变数 x 作处理,如:
: f1(x);
: f2(x);
: f3(x);
: .....
: .....
: f100(x);
: 请问有什麽写法可以组合function的名称(ex: "f"+i)
: 用for包起来後,就能自动有次序的去呼叫function的使用?
容我罗嗦一下
基本上函式名称会取的跟这个函式所做的事情有关系
几乎不可能出现这种序号式的取法 (当然,偷懒的时候例外)
从大家的回文内容,以及原po没有特别指正看来
原po的f1(x)~f100(x)
可能是做类似 "回传 x + 1, 回传 x + 2, ..., 回传 x + 100"
这种序号直接代表某种参数的函式
但是这样就违反了当初使用函式的目的
宣告函式的目的就是要把共同的code提取出来,写一次就好
如果函式 f1(x), f2(x), f3(x) 的目的只是回传 x + 1, x + 2, x + 3
那还不如把函式写成
function add(x, y) { return x + y; }
然後把 f1(x) 取代成 add(x, 1), f2(x) 取代成 add(x, 2)...这样
如果我有误会原po的函式类型,就先说声对不起罗 :)
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凯特 = 蜚蠊猫 = 蟑螂猫
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比闪光(Adobe Flash)研讨区
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.163.84
1F:→ sextitanic:是递回吗QQ? 09/03 00:19
2F:推 justaID:其实我本来主要想求教怎麽组合函数名(this["f"+i](x)) XD 09/03 00:45
3F:→ justaID:没想到意外获益这麽多技巧~ 09/03 00:47
4F:→ cjcat2266:跟递回没关系啊 09/03 00:47
5F:→ justaID:(PS:f1~f10内容不同,这麽取名是由於将另一个大函式拆成 09/03 00:49
6F:→ justaID:很多小函式,希望程式不要太长好方便维护,算是"分段"的 09/03 00:50
7F:→ justaID:一个目的,但又需要照原本顺序执行,所以才这麽取名 09/03 00:51
8F:→ justaID:我目前只想到这样的作法来方便维护,也许有更好的方法?) 09/03 00:52
9F:→ dsmwang:分成多一点class汇来汇去感觉会比较好XD 09/03 02:04
10F:推 scars:OO语言不应该有必须拆成100段的"长函式" 09/03 08:08
11F:→ scars:这样就好像孔明要练影分身一样, 应该规划几种类别来处理才对 09/03 08:09
12F:推 justaID:100当然是夸张了一点XD(为了举例明显让人了解才举这麽大) 09/03 09:38
13F:→ justaID:正常大约分5~10段(而这5~10段算是作一件事) 09/03 09:40