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

Почему не работает этот код?

Здравствуйте, почему этот код не работает? Он должен выводить "assd" на экран. Хотя контекст задан правильно.

let test = {
  rese: "assd",
  asd() {
    alert(this.rese);
  }
};

function delay(f) {
  return function() {
    f.apply(this);
  };
}

let testThis = delay(test.asd);
testThis();


Не могу понять в чем проблема вроде все верно. Устал искать проблему уже
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
f.apply(this);

этот this - тот самый, с которым вызвалась функция testThis.
а она вызвалась без указания this, то есть он там внутри ундефайнед или виндоу, в зависимости от строгости режима.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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