防抖和节流函数最简版
Posted wangtao-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防抖和节流函数最简版相关的知识,希望对你有一定的参考价值。
防抖和节流函数最简版
防抖: 多次触发事件只执行一次(适用于断续的事件, 比如 click
、input
)
1 function debounce(fn, time) { 2 let timeout 3 return () => { 4 if (timeout) { 5 clearTimeout(timeout) 6 } 7 timeout = setTimeout({ 8 fn 9 }, time) 10 } 11 }
节流: 在指定时间内多次触发事件只执行一次(适用于连续的事件, 比如 scroll
)
function throttle(fn, time) { let preTime = 0 return () => { const remainTime = time - (Date.now() - preTime) if (remainTime <= 0) { fn() preTime = Date.now() } } }
以上是关于防抖和节流函数最简版的主要内容,如果未能解决你的问题,请参考以下文章