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日