Move 'var' declarations to the top of the function.

for (var i = 0, len = arr.length; i < len; i++) {
  console.log(arr[i]);
}
// Move 'var' declarations to the top of the function.

上のコードは JSLint で i, len の宣言は関数の一番最初で宣言しろと怒られる。
これは、こういう問題があるかららしい。

var i, len = arr.length;
for (i = 0; i < len; i++) {
  console.log(arr[i]);
}

こう書けってことなんだけど、これだと i, len が for の中で使うのか、それ以外でも使うのかがわかりにくい気がする。

https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Array/forEach