作者etrexetrex (moonet)
看板Flash
標題[問題] 用字串執行物件的方法
時間Wed Apr 9 14:17:52 2008
假設我有三個字串
1.物件名稱的字串 叫作 A
2.物件方法的字串 叫作 B
3.物件方法參數的字串 叫作 C
如果ABC不是字串,則執行的程式寫成這樣:
A.B(C);
如果三樣都是字串
除了寫成以下的程式之外 (完全的暴力,每多一個method就多一個if)
if(A == "A" && B == "B" && C == "C")
A.B(C);
是否有更簡單的方法
例如A的部分在FLASH中可以寫作:
this[A];
B和C的部分可能可以用setInterval()來作
是否有更好的作法?
或者一開始就不存字串?(但我不知道method跟parameter可以存什麼) 0.0
我的問題是ABC是在不同時間點決定的,所以只想到這樣做
--
http://etrex.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.120.112.107
推 Jerrynet:this[A][B](c) 即可 04/09 17:20
→ Jerrynet:ex: var e:MovieClip = new MovieClip(); 04/09 17:23
→ Jerrynet: this["addChild"](e); 04/09 17:24
→ Jerrynet:以上相等於 this.addChild(e); 04/09 17:24
→ Jerrynet:科科~小技巧@@ 04/09 17:26
→ etrexetrex:cool 04/09 19:28
推 Jerrynet:在以前可用eval()函數,AS3刪除了~XD 04/09 19:49