@Spvrk

Как работает for of в javascript?

Прохожу задания на html academy. Остановился на испытание с виртуальной клавиатурой, которое так и не понял как делать, но нашёл решение:
let keys = document.querySelectorAll('.key');
let display = document.querySelector('.display');
let clear = document.querySelector('.clear');

for ( let keysCount of keys) {
  keysCount.onclick = function () {
    display.textContent = display.textContent + keysCount.textContent;
  }
};

clear.onclick = function () {
  display.textContent = '';
}


Всё понятно, за исключением цикла for of. Если он просто перебирает элементы, тогда почему останавливается именно на той букве которое вводит пользователь? Или я что-то не понимаю про этот цикл?

5efb9d8e9a11b028453661.png
5efb9da79b609945236154.png
  • Вопрос задан
  • 160 просмотров
Решения вопроса 1
Armrisch
@Armrisch
Full Stack Developer
For of просто перебирает элементы и привязывает ко всем кнопкам событие клик, и все он один раз заработал привязал событие к кнопкам и всё, и уже когда на какую то кнопку нажали вызывается анонимная функция в контексте для конкретной кнопки.
forof просто цыкл как и for и смысла он тут не меняет, и вообще можно было бы сделать более красиво с for использую event или this пример.
for(let i =0; i<keys.length; i++){
keys[i].onclick = function() {
display.textContent +=this.textContent;
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы