作者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
→ sextitanic:是遞迴嗎QQ? 09/03 00:19
推 justaID:其實我本來主要想求教怎麼組合函數名(this["f"+i](x)) XD 09/03 00:45
→ justaID:沒想到意外獲益這麼多技巧~ 09/03 00:47
→ cjcat2266:跟遞迴沒關係啊 09/03 00:47
→ justaID:(PS:f1~f10內容不同,這麼取名是由於將另一個大函式拆成 09/03 00:49
→ justaID:很多小函式,希望程式不要太長好方便維護,算是"分段"的 09/03 00:50
→ justaID:一個目的,但又需要照原本順序執行,所以才這麼取名 09/03 00:51
→ justaID:我目前只想到這樣的作法來方便維護,也許有更好的方法?) 09/03 00:52
→ dsmwang:分成多一點class匯來匯去感覺會比較好XD 09/03 02:04
推 scars:OO語言不應該有必須拆成100段的"長函式" 09/03 08:08
→ scars:這樣就好像孔明要練影分身一樣, 應該規劃幾種類別來處理才對 09/03 08:09
推 justaID:100當然是誇張了一點XD(為了舉例明顯讓人了解才舉這麼大) 09/03 09:38
→ justaID:正常大約分5~10段(而這5~10段算是作一件事) 09/03 09:40