防抖:就是指触发事件后在n秒内函数只能执行一次,如果在n秒内又触发了事件,则会重新计算函数执行时间
function debounce(fn, wait = 800) {
let timmer = null;
return function () {
timmer && clearTimeout(timmer)
timmer = setTimeout(() => {
fn()
}, wait)
}
}
节流:就是指连续触发事件但是在一段事件中只执行一次函数
function debounce(fn, wait = 800) {
let timmer = null;
return function () {
let now = !timmer
timmer && clearTimeout(timmer)
timmer = setTimeout(() => {
timmer = null
}, wait)
if (now) {
fn()
}
}
}
网友评论