потестим :
var arr = [], i, started, len;
for (i=0; i < 1e6; i += 1) arr[i] = i;
started = Date.now();
for (i=0 ;i < arr.length; i += 1) arr[i];
alert("Прошли массив с проверкой св-а length : " + (Date.now() - started) + " ms");
/*
FF : 9
CH: 36
OP : 220
*/
started = Date.now();
for (i=0 ;i in arr; i += 1) arr[i];
alert("Прошли массив с проверкой in : " + (Date.now() - started) + " ms");
/*
FF : 11
CH : 100
OP : 409
*/
started = Date.now();
for (i=0, len = arr.length;i < len; i += 1) arr[i];
alert("Прошли массив с кешированием length : " + (Date.now() - started) + " ms");
/*
FF : 9
CH : 33
OP : 237
*/
что за фигня? Linux x86_64.