回調(diào)函數(shù)就是一個通過函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個函數(shù),當(dāng)這個指針被用為調(diào)用它所指向的函數(shù)時,我們就說這是回調(diào)函數(shù)?;卣{(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方法直接調(diào)用,而是在特定的事件或條件發(fā)生時由另一個方法調(diào)用的,用于對該事件或條件進(jìn)行相應(yīng)。
下面還是通過代碼的方式,自己實(shí)現(xiàn)一個回調(diào)函數(shù)的應(yīng)用。
FlexCallBack.mxml
復(fù)制代碼 代碼如下:
?xml version="1.0" encoding="utf-8"?>
s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
fx:Script>
![CDATA[
import flash.external.ExternalInterface;
import flash.system.Security;
import mx.controls.Alert;
import mx.events.FlexEvent;
public var callBackInfo:String = "";
public function doSend():void{
var call:FlexApp = new FlexApp("Hello",callBack);
}
public function callBack(info):void{
Alert.show(info);
}
]]>
/fx:Script>
fx:Declarations>
!-- 將非可視元素(例如服務(wù)、值對象)放在此處 -->
/fx:Declarations>
s:Panel width="100%" height="100%">
s:Button label="Send" click="doSend()">
/s:Button>
/s:Panel>
/s:Application>
自己定義的FlexApp類
復(fù)制代碼 代碼如下:
package
{
public class FlexApp
{
public function FlexApp(param:String,func:Function)
{
func.call(null,"收到");
}
}
}