Допустим, у вас есть этот большой array
обр.
var arr = new Int32Array(99999999);
Эти два цикла for делают разные вещи. Это делает паузу в течение хорошего времени и в конечном итоге возвращает потенциальный сбой из-за нехватки памяти:
for (var i in arr) {console.log("done"); break;}
// --> Paused before potential out of memory crash.
Пока это заканчивается мгновенно:
for (var i = 0; i < arr.length; i++) {console.log("done"); break; }
// --> Finishes immediately.
Я знаю, почему 2-й цикл заканчивается мгновенно, но почему первый цикл вызывает утечку?