for (i = 0; i < array.length; i++) {
  $(".hoge").each(function() {
    alert("hoge");
  });
}

上のように、ループ文の中にfunctionを作成すると、JSHint(JSLintでも同じ)でエラーになります。

JsHint (W083): Don't make functions within a loop.

なぜループ内に関数を作成してはいけないのでしょうか?