arguments.callee

このエントリーをはてなブックマークに追加

arguments.calleeは関数内で関数そのものを保持しています。

関数などで自身を再帰的に呼び出ししたい場合に利用可能です。

var i=0;
var fun = function(){
  i++;
  if(i<10){
    fun();
  }else{
    console.log(i)
  }
}
fun();//10;

この場合fun()はiが10になるまで実行されます。しかし、関数自体が関数名に依存してしまうため変更に弱いソースになってしまいます。arguments.calleeを利用することで次のように変更できます。

var i=0;
var fun = function(){
  i++;
  if(i<10){
    arguments.callee();
  }else{
    console.log(i)
  }
}
fun();//10;

こうすることで変更に柔軟に対応できるコードとなるでしょう。

登録日 : 2012年09月27日 最終更新日 : 2012年9月27日

同じカテゴリー(Function)のエントリー

検索

スポンサードリンク

バージョン

リファレンス