Я видел много вопросов, которые предлагают использовать:
for (var i = 0; i < myArray.length; i++){ /* ... */ }
вместо:
for (var i in myArray){ /* ... */ }
для массивов из-за несогласованной итерации (см. здесь).
Однако я не могу найти ничего похожего на объектно-ориентированный цикл:
myArray.forEach(function(item, index){ /* ... */ });
Что мне кажется более интуитивным.
Для моего текущего проекта важна совместимость IE8, и я рассматриваю возможность использования Mozilla polyfill, однако я не на 100% как это будет работать.
- Существуют ли различия между стандартом цикла (первый пример выше) и реализацией Array.prototype.forEach современными браузерами?
- Есть ли разница между современными реализациями браузеров и реализацией Mozilla, связанными с выше (с особым учетом IE8)?
- Производительность - это не такая уж большая проблема, просто согласованность с тем, какие свойства повторяются.