快速連結

2011年3月14日

動態取得函式

類別能夠動態取得,當然自定義的函式也可以動態取得。

程式如下:


for (var i:int =0;i < 2;i++){
  var s:String = "test_function" + i;
  this[s]();
}

function test_function0(){
 trace(this function is test_function 0!);
}

function test_function1(){
 trace(this function is test_function 1!);
}

重點在於跟變數動態取得方式的一樣,只是要加上()。

那如果是是監聽事件的function...

for (var i:int =0;i < 2;i++){
  var _mc:MovieClip = getChildByName("test"+i);
  var s:String = "test_function" + i;
  _mc.addEventListner(MouseEvent.CLICK,this[s]);
}

function test_function0(e:MouseEvent){
 trace(this function is test0's function!);
}

function test_function1(e:MouseEvent){
 trace(this function is test1's function!);
}

沒有留言:

張貼留言

歡迎大家留言提問,我會答的都會盡力回答!
如果太久沒出現回應就是我又忘記回來看留言了TAT