Разница между базовым циклом 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

используется для просмотра перечислимых свойств объекта, включая наследуемые перечисляемые свойства. Заказ не гарантирован. Хотя массив является объектом, и этот метод "работает" для массивов, он не идеален, так как возвращаемые свойства могут быть не в определенном порядке. Кроме того, если на объект массива будут наложены какие-либо обезьяны-патчи или прокладки, они могут появиться здесь.

Другие вопросы по тегам