tande lab.

[AS3] 関数を変数に代入

変数に、Function型が存在するとのこと。なんと!!

Actionscript3.0:関数の、変数への代入 | memo-memo

関数を代入した変数を関数の識別子と同じ様に使えるとのことで
関数の引数に関数を指定したいシーンがいくつかあったんだけど
そんなときに使えそう。

これってJavaScriptもそうなのかな?
って @soranchu に聞いたらそうだよって言われた。ほー。

以下、サンプルコード。

関数を代入した変数を実行

//Function型の変数abcにtestを代入
var abc:Function = test;

//関数testの内容を記述
function test(){
	trace("テストだべ");
}

//関数を代入した変数abcを関数の識別子的に実行
abc();
テストだべ

おおー、実行できた!

関数を代入した変数を、別の関数の引数として利用

//Function型の変数abcにtestを代入
var abc:Function = test;

//関数testを記述
function test(){
	trace("テストだべ");
}

//関数を引数に持つ関数test2を記述
function test2(def:Function){
	var ghi:Function = def;
	ghi();
}

//関数test2の引数に関数を代入した変数abcを渡して実行
test2(abc);
テストだべ

おおおー、実行できた!!