js防抖

不管触发多少次事件,都会等到事件触发n秒后才会执行,如果在事件触发的 n 秒内 又触发了这个事件,那么就以新的事件的时间为准重新计算,总之,就是要等你触发事件 n 秒内 不再触发事件,才会执行,一般用在用户表单输入实时搜索上
 
1 function debounce(fn, wait) {
2     let timer;
3     return function () {
4         clearTimeout(timer);
5         timer = setTimeout(() => {
6             fn.apply(this, arguments)   // 把参数传进去
7         }, wait);
8     }
9 }

 



posted @ 2021-03-25 17:21  PromiseOne  阅读(55)  评论(0编辑  收藏  举报