1、使用场景:
例如:搜索框搜索输入。只需用户最后一次输入完,再发送请求
2、函数防抖的要点:
需要一个 setTimeout 来辅助实现,延迟运行需要执行的代码。如果该方法多次触发,则把上次记录的延迟执行代码用 clearTimeout 清掉,重新开始计时。若计时期间事件没有被重新触发,等延迟时间计时完毕,则执行目标代码。
3、防抖函数如下:
/** * fn:需要被防抖执行的函数 * wait :防抖的间隔时间,即函数在多少时间后执行,单位ms */ function debounce(fn,wait){ var timer = null; return function(){ if(timer !== null){ clearTimeout(timer); } timer = setTimeout(fn,wait); } }
4、防抖函数使用方法:
/** *toSearch():需要执行的函数,例如此处是笔者写的toSearch()搜索函数,给toSearch()搜索函数加防抖 */ debounce(toSearch(), 1000)
标签:防抖,函数,timer,toSearch,js,fn,wait From: https://www.cnblogs.com/bokemoqi/p/17083583.html