javascript 無名関数内でsetTimeoutなどで自分自身を呼び出すには....。

例えば、SPAなどrequire.jsで非同期にjqueryが呼ばれる場合などで、jqueryの読み込みが完了するまで待つ場合。
jqueryが存在しない場合に1秒後にもう一度自分自身を呼び出したい場合arguments.calleeを使う。

但し、arguments.calleeは非推奨。そういう用途で使いたい場合は無名関数に名前をつけろとのこと

function(){
  if($ == undefined){
    setTimeout(arguments.callee,1000);
    return false
  }
  .
  .
  .
}
var hoge = function(){
  if($ == undefined){
    setTimeout(hoge,1000);
    return false
  }
  .
  .
  .
}