【摘要】 JS 节流函数(throttle)与防抖函数(debounce)考必过小编为大家整理了关于JS 节流函数(throttle)与防抖函数(debounce)的信息,希望可以帮助到大家!
JS 节流函数(throttle)与防抖函数(debounce)
标签:return turn const 定时 null 函数 timer 滚动 art
节流和防抖是什么意思
节流:在一定时间内连续触发某事件,在这段时间段内只执行首次触发的那一次。1s内执行第一次
防抖:在一定时间内连续触发某事件,在这段时间内只执行最后一次触发的那一次。最后一次延时1s后执行
手写节流函数(详见本仓库:造轮子->js篇->throttle.js)
//方法一:利用闭包保存时间
const throttle = function(fn,delay){
let prev = Date.now()
return ()=> {
let now = Date.now()
if (now - prev >= delay) {
fn()
prev = Date.now()
}
}
}
手写防抖函数
//方法一:利用闭包保存延时器
const debounce = function(fn,delay){
let timer = null
return ()=> {
clearTimeout(timer)
timer = setTimeout(()=>fn(), delay)
}
}
应用
- 防抖应用:输入框 change ,延时响应输入。例如货币输入框自动加小数点
- 节流应用:响应滚动事件。例如瀑布流无限滚动
JS 节流函数(throttle)与防抖函数(debounce)
标签:return turn const 定时 null 函数 timer 滚动 art
以上就是JS 节流函数(throttle)与防抖函数(debounce)的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!