RT because the this pointer in the anonymous function already points to window. I don"t understand what it means if you just want to pass the args parameter list through apply as fn.apply (window, args);.
fn.apply (context, args);
let timer = null;
return function() {
let context = this;
let args = arguments;
clearTimeout(timer);
timer = setTimeout(function() {
fn.apply(context, args);
}, delay);
}
}