arguments.callee を使って呼び出すのがセオリーだと思います。
function requestAnonymous() {
var count = 0;
return function() {
console.log("Hello!" + count++);
if (count == 10) {
return;
}
arguments.callee();
}();
}
requestAnonymous();
名前をつけてあげると関数名で呼び出せるんですね。
function requestNaming() {
var count = 0;
return function callback() {
console.log("Hello!" + count++);
if (count == 10) {
return;
}
callback();
}();
}
requestNaming();
関数を返す場合 return function() {}; が定石なので名前をつけられることを忘れていました。あ、無名関数でなくなっていました。