在js中,函数中随便使用this不会报错。但是,ts语法类型检测太强了,我在一次写项目时,用到了this,因此惊奇地发现ts还要检测这个this的类型,在试了很多类型声明的办法都不管用后,采用了这种参数位置声明this,终于解决了报错问题。
代码如下:
function throttle(fn:Function,delay:number){
let timer:any=null;
return function(this:any){
if(timer==null){
fn.apply(this,arguments);
timer = setTimeout(function(){
timer=null;
},delay);
}
}
}