Показать сообщение отдельно
  #3 (permalink)  
Старый 21.05.2021, 11:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от slark
почему через обычный цикл работает, а через for in не работает
Ответ, как всегда, в букваре...
Цитата:
Для перебора всех свойств из объекта используется цикл по свойствам for..in. Эта синтаксическая конструкция отличается от рассмотренного ранее цикла for( ; ; ).
https://learn.javascript.ru/object-for-in

Т.е. это разные циклы и они таки различаются, потому и разные результаты.

А "не работает" он у тебя потому, что ты не понимаешь что получаешь в том цикле.
Но он таки всегда работает как нужно

<div></div>
<script>
const a = document.querySelectorAll('div')

for (let k in a) {
	alert(k)
}
</script>
Ответить с цитированием