例: 無名再帰関数内での arguments.callee の使用
再帰関数は自分自身を参照する必要があります。関数が自分自身を参照するには、一般的には関数の名前を使用します。しかしながら、無名関数には名前がありません。さらにその無名関数を参照するアクセス可能な変数も無い (関数がどの変数にも代入されていない) 場合、その関数には自分自身を参照する手段がありません。 (無名関数は関数式または Function コンストラクタによって作成できます) そこで arguments.callee の出番です。
次の例では関数を定義し、その関数内でさらに階乗関数を定義し、それを返しています。
function makeFactorialFunc() { alert('making a factorial function!'); return function(x) { if (x <= 1) return 1; return x * arguments.callee(x - 1); }; } var result = makeFactorialFunc()(5); // 120 (5 * 4 * 3 * 2 * 1) を返すhttps://developer.mozilla.org/ja/JavaScript/Reference/Functions_and_function_scope/arguments/callee