アットウィキロゴ

FLASH(ActionScript)基礎⑨(無名関数とイベントモデル)

●無名関数

名前のない関数のこと

●変数にいれる場合、

【定義】

var 関数名 = function(引数){
    処理(関数の内容);
}

【実行】

関数名();

例;
関数を「f」に代入
var f= function(){
  trace("[[test]]");
};

出力
f();

●引数として指定する場合

例;
配列すべてに対して関数を実行する
function map(ar,callback){
  for(var i = 0; i < ar.length; i++){
    callback(ar[i]);
  }
}
配列変数を4倍にして表示する
var sample_ary = [10,20,30,40,50];
map(sample_ary,function(n) { trace(n*4); });


※関数:
function map(ar,callback){
  for(var i = 0; i < ar.length; i++){
    callback(ar[i]);
  }
}
arに配列の値を入れて計算、結果をcallback にいれて返す。
ar = 配列が入る事を前提[in]
callback = 引数(変数と同じ扱い)[out]
for文 = ・arの配列数の数だけ繰り返す
     ・callbackにarの値を配列数分だけ繰り返し入れる

※配列の定義と表示出力
  • sample_ary配列を作成
  • map()関数を使用


【配列⇒関数の流れ】
map()関数の引数(callback)に関数function(n) { trace(n*4); }が入っている。
 ⇒この場合、通常のmap()はar配列をばらして、callbackにarの値を配列数分だけ繰り返し入れるという処理だが、
  引数が関数の場合、入れられたarの値に、そのつどfunction(n) { trace(n*4); }の処理がされる。
つまり、
sample_ary[]配列の値が、ばらばらにcallbackに入り(map()関数)、×4されて表示出力される(function(f))。
最終更新:2012年02月08日 15:59
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。