> Что содержит this в обработчике события на кнопку в JavaScript (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Exness
Стек: JavaScript
> Пример ответа
Значение this внутри обработчика события на кнопку зависит от того, как именно назначен обработчик.
- Через атрибут HTML (onclick="...") -
thisссылается на DOM-элемент кнопки (глобальный объект в строгом режиме, но на практике - элемент). - Через свойство DOM (button.onclick = function) -
thisуказывает на саму кнопку (элемент, на котором вызван обработчик). - Через addEventListener -
thisтакже равен элементу, на котором вызван обработчик (если функция не стрелочная). - Стрелочная функция -
thisне привязывается к кнопке, а берется из окружающего контекста (например, из внешней функции или глобального объекта).
Пример:
JAVASCRIPTbutton.addEventListener('click', function() {console.log(this); // <button>...</button>});button.addEventListener('click', () => {console.log(this); // window (или undefined в strict mode)});
Таким образом, в классическом обработчике this - это кнопка, если не используется стрелочная функция.
> Похожие задачи по frontend
Нужно ли использовать замыкания при обработке результатов нескольких асинхронных запросов в JavaScript?
Как реализовать тайм-аут для асинхронного запроса, если ответ приходит дольше одной секунды в JavaScript?
Как реализовать декоратор функции в JavaScript, ограничивающий число вызовов и вызывающий колбэк при последнем вызове
Как обрабатывать массив результатов промисов в JavaScript и выводить success или fail в консоль
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью