This is related to "var" or no "var" in JavaScript's "for-in" loop? (but talks more about scope - this question IS NOT about scope)
Is looping through an object or an array more efficient/common and why?
Option 1 - Setting var outside loop
// Object
var x;
for (x in obj) { ... }
// Array
var i;
for (i = 0; i < array.length; ++i) { ... }
Option 2 - Setting var in the loop
// Object
for (var x in obj) { ... }
// Array
for (var i = 0; i < array.length; ++i) { ... }