Показать сообщение отдельно
  #5 (permalink)  
Старый 24.12.2013, 16:55
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от okouser
Потому что значение кэшируется, и не нужно каждый раз обращаться к соответствующему свойству.
http://jsperf.com/browser-diet-cache-array-length/10
довольно неоднозначные результаты, на последних версиях FF и Хрома выгоды кэширования нет.
да и тест искусственный - если дать нагрузку внутрь цикла, разница будет ерундовая даже там, где сейчас имеет место.

Сообщение от okouser
Вообще-то идея темы и в моделях работы браузеров. Непонятно, почему реализация forEach в Chrome отличается от остальных.
идея темы - да.
только над ней есть другая, более фундаментальная идея - "неизвестно, как работает forEach сегодня, и как он будет работать завтра", в связи с чем коллекцию нельзя изменять. Это не только в js, кстати. В некоторых языках вообще ошибка выскакивает.
Ответить с цитированием