[問題] 用字串執行物件的方法

看板Flash作者 (moonet)時間18年前 (2008/04/09 14:17), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串1/1
假設我有三個字串 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

04/09 17:20, , 1F
this[A][B](c) 即可
04/09 17:20, 1F

04/09 17:23, , 2F
ex: var e:MovieClip = new MovieClip();
04/09 17:23, 2F

04/09 17:24, , 3F
this["addChild"](e);
04/09 17:24, 3F

04/09 17:24, , 4F
以上相等於 this.addChild(e);
04/09 17:24, 4F

04/09 17:26, , 5F
科科~小技巧@@
04/09 17:26, 5F

04/09 19:28, , 6F
cool
04/09 19:28, 6F

04/09 19:49, , 7F
在以前可用eval()函數,AS3刪除了~XD
04/09 19:49, 7F
文章代碼(AID): #17_5-Jzg (Flash)
文章代碼(AID): #17_5-Jzg (Flash)