参考链接:https://mp.weixin.qq.com/s/Vkshf-nEDwo2ODUJhxgzVA
区别:防抖以最后一次触发的事件为准;节流以第一次触发的事件为准,两者都可以用定时器实现;两者都用通过返回一个函数给外面,形成闭包来实现
代码:
防抖:
function throttle(fn, delay) {
var timer = null
return function() {
timer && clearTimeout(timer)
timer = setTimeout(fn, delay)
}
}节流:
function debounce(fn, delay) {
var timer = null
return function() {
var context = this
var args = arguments
if (!timer) {
timer = setTimeout(() => {
fn.apply(context , args )
timer = null
}, delay)
}
}
}