🎮 JavaScript и мини-игры Урок 6 из 16 · 0 из 16

Урок 6. События: игра-кликер

Первая игра. Кнопка, которая считает нажатия — с неё начинались все кликеры в мире.

До сих пор код выполнялся один раз и заканчивался. Но программы обычно ждут действий человека: нажатия, наведения, ввода. Такие действия называют событиями.

Чтобы отреагировать на событие, элементу «подписывают» функцию:

knopka.addEventListener('click', function () {
  console.log('Нажали!');
});

Читается так: «кнопка, слушай событие click, и когда оно случится — выполни этот код». Код внутри фигурных скобок сам по себе не выполняется — он лежит и ждёт нажатия. Может ждать вечно, если никто не нажмёт.

Разбираем по частям

  • addEventListener — «добавить слушателя события»;
  • 'click' — какое событие ждём. Бывают ещё 'mouseover' (навели мышь), 'keydown' (нажали клавишу), 'input' (ввели текст);
  • function () { ... } — что делать, когда событие случится.

Счётчик

Чтобы кнопка считала, нужна переменная вне функции — иначе счёт будет обнуляться при каждом нажатии:

let schet = 0;

knopka.addEventListener('click', function () {
  schet = schet + 1;
  tablo.textContent = schet;
});
Подсказка. Запись schet = schet + 1 можно сократить до schet++. Программисты пишут именно так, но пока привыкай к длинной форме — она понятнее.

Твой прогресс

Опыт и значки хранятся прямо в этом браузере — ни имени, ни почты для этого не нужно. Все треки и значки →

Частые вопросы

Что такое addEventListener?

Команда, которая привязывает функцию к событию элемента. Функция не выполняется сразу — она ждёт, пока событие произойдёт, например пока пользователь нажмёт кнопку.

Почему переменную счёта объявляют вне функции?

Потому что переменная, созданная внутри функции, исчезает вместе с её завершением. Счёт должен жить между нажатиями, поэтому он объявляется снаружи.