$ cat _posts/archived/防抖和节流.md
防抖和节流
防抖和节流
防抖
触发高频事件后 n 秒内函数只会执行一次,如果 n 秒内高频事件再次被触发,则重新计算时间
思路:
每次触发事件时都取消之前的延时调用方法
1 | function debounce(fn) { |
节流
高频事件触发,但在 n 秒内只会执行一次,所以节流会稀释函数的执行频率
思路:
每次触发事件时都判断当前是否有等待执行的延时函数
1 | function throttle(fn) { |
触发高频事件后 n 秒内函数只会执行一次,如果 n 秒内高频事件再次被触发,则重新计算时间
每次触发事件时都取消之前的延时调用方法
1 | function debounce(fn) { |
高频事件触发,但在 n 秒内只会执行一次,所以节流会稀释函数的执行频率
每次触发事件时都判断当前是否有等待执行的延时函数
1 | function throttle(fn) { |