グリモンのautopagerize対応の雛形?

var f = function( hoge ){
  //ここに書く
}
f();


(function(filter, i) {
  i = i || 4;
  if (window.AutoPagerize && window.AutoPagerize.addFilter){
    window.AutoPagerize.addFilter(filter);
  } else if (i > 1) {
    setTimeout(arguments.callee, 1000, filter, i - 1);
  }
})(function(e) { e.forEach(f) })

まず、ここが訳わからん。うーむ。

  i = i || 4;

追記 : 2008-01-16
これは論理和演算子(||)とのこと。

  i = i || 4;

意味は、

  • i変数が定義されている場合はi変数に格納されている値をそのまま使用する。
  • 定義されていない場合は直接記述した定数(4)を使用する。

というものらしい。論理演算子だから返り値があるんだろうけどこの場合はかならずtrueだよな。で、そのつづきはどういう意味だ?