関数の再帰呼び出し
関数の中で、自分自身(その関数)を呼び出すことを「再帰呼び出し」と呼ぶ。
以下は再帰呼び出しを利用して階乗を計算するプログラム。
function factorial(n){ if (n<0){ throw new Error('0以上の値を指定してください:'); }else if(n==0){ return 1; }else{ return factorial(n-1)*n; } } alert(factorial(5));
JavaScriptでは、Argumentsオブジェクトの、calleeプロパティに関数自身への参照が格納されている。
calleeプロパティ使用することで、再帰呼び出しでることが分かりやすくなる。
function factorial(n){ if (n<0){ throw new Error('0以上の値を指定してください'); }else if(n==0){ return true; }else{ return arguments.callee(n-1)*n; } }