【前端面试】防抖节流
程序员文章站
2022-06-09 21:40:33
...
参考链接:函数的防抖和节流是个啥???
防抖
n秒内函数只会执行一次,如果n秒内事件再次被触发则重新计时
function debounce(func, delay){
let timeout;
return function() {
clearTimeout(timeout)
timeout = setTimeout(()=>{
func.applay(this, arguments)
}, delay);
}
}
节流
n秒内函数只会执行一次
function throttle(func, delay){
let trigger = true;
return function() {
if (!trigger){
return //如果关闭了,那就不执行代码了
}
trigger = false;
setTimeout(()=>{
func.apply(this, arguments)
trigger = true
}, delay)
}
}