イベントリスナーの引数のデフォルト値をnullにする
AS3で採用されたイベントモデルでは、イベントリスナーの引数として必ずEventクラス(またはそのサブクラス)のオブジェクトが渡されますが、場面によっては、イベントで呼び出されるメソッドを直接呼び出したい場合があります。
そのような場合は、引数となるEventオブジェクトのデフォルト値をnullにしておくと便利です。
下の例では、testメソッドを直接実行したり、Timerを使って1秒後に呼び出したりしています。
public function doTest():void {
//直接実行
test();
//1秒後に実行
var timer:Timer = new Timer(1000, 1);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, test);
timer.start();
}
public function test(event:TimerEvent = null):void {
trace("test");
}