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

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

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

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

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


Не могу понять в чем проблема вроде все верно. Устал искать проблему уже
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
f.apply(this);

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

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

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