Я использую бета-версию Chrome версии 146.0.7680.31 (официальная сборка) (64-разрядная версия).
Первый — перебор каждого свойства с помощью цикла for...in и увеличение счетчика, а второй — вызов Object.keys(obj).length.
Я создал JSFiddle для проверки каждого метода, и в Chrome при первом запуске цикл for...in работает чрезвычайно быстро по сравнению с методом Object.keys(obj).length.
Однако при последующих запусках цикл for...in работает намного медленнее.
Почему это так?
/>Первый запуск со 100 000 000 итераций (Chrome)
Код: Выделить всё
for...inКод: Выделить всё
Object.keys(obj).lengthВторой запуск со 100 000 000 итераций (Chrome)
Код: Выделить всё
for...inКод: Выделить всё
Object.keys(obj).lengthJSFiddle
Вот JSFiddle: https://jsfiddle.net/79bpf2rs

Подробнее здесь: https://stackoverflow.com/questions/799 ... t-time-but
Мобильная версия