一、防抖
防抖(原理):事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时(英雄联盟回城)。
var timer;
function debounce(fn, delay) {
clearTimeout(timer);
timer = setTimeout(function(){
fn();
}, delay);
}
二、节流
节流(原理):一段时间内,只执行一次函数(英雄技能)。
var timer;
function throttle(fn, delay) {
if (timer) return;
timer = setTimeout(function(){
fn();
clearTimeout(timer)
}, delay);
}