Задать вопрос
@raft88

Jquery, чему равен this?

Привет!

[1,2,3].forEach(function() { console.log(this) }); выведет window три раза. С этим понятно. Но почему код
const $items = $('.list__item');
$items.each(function() { console.log(this) });
выводит поочередно каждый элемент из коллекции?
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Потому что forEach массива и each объекта jQuery - это никак не связанные между собой вещи.
Потому что так захотели создатели jQuery.
Ответ написан
Комментировать
thewind
@thewind
php программист, front / backend developer
Читайте про context.
Во втором случае у вас используется jquery обертка, которая для каждой итерации в качестве контекста отдает текущий элемент.
А в первом случае - у вас ошибка синтаксиса, если вы хотели применить функцию к каждому элементу массива. У вас функция пустая, а консоле.лог выполняется в контексте окна.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы