节流和防抖都是为了解决短时间内大量触发某函数导致的性能问题。比如触发频率过高导致响应速度跟不上触发速度,浏览器出现延迟或卡顿现象。
例如监听窗口的滚动条,如果不断的滑动,函数被高频触发,很浪费浏览器的性能。
防抖(throttle):给一个时间限制,高频事件触发后,在这个限制内,函数只执行一次,如果在这个限制内再次触发函数,时间清零,重新计算时间。
节流(debounce):给一个时间间隔,高频事件触发后,在这个间隔内,函数只执行一次(每隔一段时间,函数执行一次)
节流和防抖都是为了解决短时间内大量触发某函数导致的性能问题。比如触发频率过高导致响应速度跟不上触发速度,浏览器出现延迟或卡顿现象。
例如监听窗口的滚动条,如果不断的滑动,函数被高频触发,很浪费浏览器的性能。
防抖(throttle):给一个时间限制,高频事件触发后,在这个限制内,函数只执行一次,如果在这个限制内再次触发函数,时间清零,重新计算时间。
节流(debounce):给一个时间间隔,高频事件触发后,在这个间隔内,函数只执行一次(每隔一段时间,函数执行一次)