2010-03-22 43 views
1

我怎樣才能調用函數形式的變量。Actionscript 2來自變量的調用函數

var upfunction = init; 
//or 
var upfunction = init(); 

我試過上面的代碼,它不起作用。我希望能夠從按鍵調用該變量並更改變量函數。例如。

function init(){ 
    //Do whatever 
} 

function init2(){ 
    //Do another thing 
} 

var upfunction = init(); 
if (Key.getCode() == Key.UP) 
{ 
    upfunction; 
} 

再後來做

upfunction = init2(); 

這樣,我可以改變的功能,而無需太多的代碼。對不起,如果這是一個noob問題,但我所做的是複製和粘貼代碼,我發現。

回答

1

你幾乎是正確的,你只要記住,以呼籲函數,你需要包括括號後':upFuntion();'。定義該功能時還需要使用括號。括號中將包含任何函數參數。

但是要引用該函數(例如將它分配給變量時),不要使用括號:'upFunction = init;'

所以,你的例子是這樣的:

function init1():Void { 
    trace("hello this is init1"); 
} 

function init2():Void { 
    trace("hey, this is init2"); 
} 

var upFunction:Function = init1;//type declaration is optional but recommended 

upFunction();// hello this is init1 

upFunction = init2; 

upFunction();//hey, this is init2