定时器

  • setTimeout(fn,delay)
    实际上定时器并不会在 delay 时间结束后立马执行 fn,因为定时器被放置在任务队列中,等主线程中的任务执行完成后,JS 引擎才会在任务队列中检查是否可以将其提出到主线程中执行,如果可以,才会执行 fn

  • 函数节流:如果在定时器设置的时间段内又触发了fn,则会清除上一个定时器,重新设置一个定时器,在这个定时器结束后再执行定时器中的函数,减少函数执行次数

var timer
function fn(){
if(timer){
clearTimeout(timer);
}
timer = setTimeout(function(){...},delay);
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容