0
function delay(f, ms) {

  return function(...args) {
   let savedThis = this; // сохраняем this в промежуточную переменную
    setTimeout(function() {
      f.apply(savedThis, args); // используем её
    }, ms);
  };

}
  1. почему, если в объявлении функции не сохранять this в промежуточную переменную, а просто использовать this = this от f, то в результате f = delay(f, ms) будет возвращать результат своего вызова без задержки в ms?

  2. что за this мы вообще сохраняем в переменную, почему это не window.this?

SwaD
  • 10,123

0 Answers0