Почему не сработал for in?
Добрый день, создал функцию вызывающую модальное окно при нажатии по кнопке.
Решил для этого же сделать второю кнопку и чтобы не повторять код, в цикле кнопкам назначил событие вызывающее модальное окно: const btnCalls = document.querySelectorAll('.btn') for (let i = 0; i < btnCalls.length; i++) { btnCalls[i].addEventListener('click', function() { const a = 'Привет' const b = 'МИР!' console.log(`${a} ${b}`) }) } Вопрос, почему через обычный цикл работает, а через for in не работает: const btnCalls = document.querySelectorAll('.btn') for (let btnCall in btnCalls) { btnCall.addEventListener('click', function() { const a = 'Привет' const b = 'МИР!' console.log(`${a} ${b}`) }) } |
slark,
вам не in нужен а of |
Цитата:
Цитата:
Т.е. это разные циклы и они таки различаются, потому и разные результаты. :) А "не работает" он у тебя потому, что ты не понимаешь что получаешь в том цикле. Но он таки всегда работает как нужно <div></div> <script> const a = document.querySelectorAll('div') for (let k in a) { alert(k) } </script> |
Цитата:
|
Часовой пояс GMT +3, время: 23:42. |