Ajax 無名(匿名)内部関数について。

Ajax フレームワークである Prototype.js の Ajax.Request に関するドキュメントを見ると、成功時(onSuccess)に『無名内部関数』が使われています。または匿名内部関数ということもあります。

ajax-191.gif

Prototype API Documentation
http://www.prototypejs.org/api/ajax/request

無名内部関数は、わざわざ関数名を付けて定義するまでもないような、簡単な処理に向いています。本来関数を呼び出す部分に、そのまま名前が無い関数を定義できます。

わかりやすい関数名や変数名を付ける作業は、結構頭を使う作業ですが、無名内部関数なら考える手間が省けるので便利です。

しかし関数内の処理が長くなるような場合は、どこまでが Ajax.Request の範囲か分かり難くなります。

そのため名前を付けて内部関数にするか、普通の関数として定義したほうがプログラムがシンプルになります。

前回までと同じ内部関数を使った書き方

function prefDisp() {
  new Ajax.Request(url,
    {
      method: 'get',
      onSuccess: getData
  });

  function getData(data){
    ここに処理を書く
  }

}


上記を無名内部関数を使った書き方にすると以下のようになります。

function prefDisp() {
  new Ajax.Request(url,
    {
      method: 'get',
      onSuccess: function(data) {
        ここに処理を書く
      }
  });
}



無名内部関数や内部関数は、Web上のサンプルや市販の書籍でもよく見かける書き方なので、覚えておくと学習するときに役立ちます。


スポンサード リンク

スポンサード リンク






Ajax初心者入門講座TOPへ