Разница между базовым циклом for и циклом for в JavaScript
Возможный дубликат:
JavaScript "для… в" с массивами
В каких ситуациях
for (var i = 0; i < array.length; i++)
отличается от использования
for (var i in array)
в JavaScript?
1 ответ
for (var i = 0; i < array.length; i++)
лучше всего подходит для обхода массива, посещения всех элементов массива по порядку.
На современных движках JavaScript, array.forEach
часто чище.
for (var i in object) // with object.hasOwnProperty
используется для просмотра перечислимых свойств объекта, включая наследуемые перечисляемые свойства. Заказ не гарантирован. Хотя массив является объектом, и этот метод "работает" для массивов, он не идеален, так как возвращаемые свойства могут быть не в определенном порядке. Кроме того, если на объект массива будут наложены какие-либо обезьяны-патчи или прокладки, они могут появиться здесь.