节流防抖
函数防抖
/*
函数防抖:一个频繁触发的函数,在规定时间内,只让函数最后一次触发 例如:
- 用户输入搜索框 避免每次敲击键盘都发送请求
- 登录、发短信等按钮避免用户点击太快,以致于发送了多次请求
- 调整浏览器窗口大小时,resize 次数过于频繁
思路:关键在于清零 例如登录按钮点击一秒后发送登录请求 我们就可以创建一个定时器 每次用户点击的时候都清除这个定时器 让定时器重置
这样就保证了这一秒内不会因为用户都频繁点击而一直发送请求 代码如下
*/
/**
* 防抖函数
* @param fn 要执行的函数
* @param delay 延迟的时间
*/
function debounce(fn, delay) {
var timer = null;
return function () {
clearTimeout(timer);
timer = setTimeout(() => {
fn.call(this);
}, delay);
};
}函数节流
Last updated
Was this helpful?