Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

for in на двух разных сайтах ведет себя по разному. на одном перебирает без __proto__, на другом с!. как так?

Смирнов Андрей Профи (895), закрыт 4 года назад
for (let i in array) {
}

Массивы (array) одинаковые
Лучший ответ
Голова Робота Просветленный (36328) 4 года назад
for-in всегда перебирает с учётом прототипа. Но прототип может быть изменён кодом сайта.
Пример для запуска в консоли.
a=[3,4,5];
for (let i in a) console.log(i);
Array.prototype.x = 8;
for (let i in a) console.log(i);
Смирнов АндрейПрофи (895) 4 года назад
Хорошо и я знаю как перебирать без. но почему чистый for in на двух разных сайтах ведет себя по разному? как я выше описал на одном перебирает proto, а на другом нет. я первый раз с таким сталкиваюсь. браузер один, и массивы одинаковые.
Голова Робота Просветленный (36328) Я написал пример. Один массив, а выводится по-разному. Если пример не виден, обнови страницу.
Остальные ответы
Похожие вопросы