var t=function(a){
var _this=this;
this.timer=function(_a){
setTimeout(function(){
//TODO条件成立
_this.timer(_a);
},1000);
}
};
没有清理
var t=function(a,_t){
var _this=this;
this.timer=function(_a,_t){
_t&&clearTimeout(_t);
var t=setTimeout(function(){
//TODO条件成立
_this.timer(_a,t);
},1000);
}
};
清理了
有必要清理settimeout么?暂定执行10分钟20分钟的定时器
没有必要,
clearTimeout
并不是用来清理内存的,而是用来提前移除之前的setTimeout
超时事件。如果setTimeout
事件已经发生了,它会自动清理那些已经超过作用域的内存。