防抖和节流
关于更多日常使用的公共类的操作方法,可以关注下小滑轮网站
/**
* @name 防抖
* @param {function} [fn=v=>v] 函数
* @param {number} [dura=50] 时延
*/
function Debounce(fn = v => v, dura = 50) {
let timer = null;
return function(...args) {
timer && clearTimeout(timer);
timer = setTimeout(() => fn.apply(this, args), dura);
};
}
/**
* @name 节流
* @param {function} [fn=v=>v] 函数
* @param {number} [dura=50] 时延
*/
function Throttle(fn = v => v, dura = 50) {
let pass = 0;
return function(...args) {
const now = +new Date();
if (now - pass > dura) {
pass = now;
fn.apply(this, args);
}
};
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。