作者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
1F:推 Jerrynet:this[A][B](c) 即可 04/09 17:20
2F:→ Jerrynet:ex: var e:MovieClip = new MovieClip(); 04/09 17:23
3F:→ Jerrynet: this["addChild"](e); 04/09 17:24
4F:→ Jerrynet:以上相等於 this.addChild(e); 04/09 17:24
5F:→ Jerrynet:科科~小技巧@@ 04/09 17:26
6F:→ etrexetrex:cool 04/09 19:28
7F:推 Jerrynet:在以前可用eval()函数,AS3删除了~XD 04/09 19:49