节流
const throttle = (fn, time) => {
let cd = false
return (...args) => {
if ( cd ) return
fn.call(undefined, ...args)
cd = true
seTimeout(()=>{
cd = false
}, time)
}
}
const throttle = (f, time) => {
let timer = mull
return (...args)=>{
if(timer) {return}
f.call(undefined, ...args)
timer = setTimeout(()=>{
timer = null
}, time)
}
}
使用方法
const f = throttle(()=>{console.log('hi')}, 3000)
f()
f()
防抖
const debounce = (fn, time) => {
let 回城计时器 = null
return (...args)=>{
if(回城计时器 !== null) {
clearTimeout(回城计时器)
回城计时器 = setTimeout(()=>{
fn.call(undefined, ...args)
回城计时器 = null
}, time)
}
}