Flex函數一時糊塗

今天做項目,需要把itemRenderer裏的data對象傳遞給外部的事件函數,原先以爲事件處理函數傳參只能傳event,而忘記了函數的本質。傳什麼參數是根據函數體裏規定好的。因爲調用該函數的位置是處於itemRenderer內部,所以可以把data對象傳遞給該函數。

外部事件監聽函數是這樣,

public function modifyPortAlias_clickHandler(data:Object):void{
   
}

如果外部的監聽函數public function modifyPortAlias_clickHandler(event:MouseEvent,data:Object):void{
   
}

那麼裏面的是這樣click="outerDocument.modifyPortAlias_clickHandler(event,data)"

既然遇到了函數,就講講Flex中的函數,Function是flex中的內置的複雜數據類型,函數是可在 ActionScript 中調用的基本代碼單位。ActionScript 中用戶定義的函數和內置函數都由 Function 對象來表示,該對象是 Function 類的實例。

我們平常見到的定義函數public function doXXX():void{}等價於var doXXX:Function = function():void{}.

所以可以在一個函數中嵌套一個函數,舉例:

 

 

 

但是這樣寫不太好理解,所以也可以這樣。

都能正常運行。

在聲明方法時直接對參數進行賦值,賦予默認值或null值。這樣調用方法時不用每次都進行傳值。典型的例子,可以看Alert.show()方法。

還可以在變量名前使用..標記定義可選參數以及不定數量的參數。該變量將包含一個數組參數,可被循環遍歷處理。

例如:public function unlimitedArgumentsFunction(..arguments):void{

                 for each(var arg:Object in arguments){

           }

 

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章