Урок 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?
Команда, которая привязывает функцию к событию элемента. Функция не выполняется сразу — она ждёт, пока событие произойдёт, например пока пользователь нажмёт кнопку.
Почему переменную счёта объявляют вне функции?
Потому что переменная, созданная внутри функции, исчезает вместе с её завершением. Счёт должен жить между нажатиями, поэтому он объявляется снаружи.