函数节流和函数去抖

函数节流

节流,英文名叫throttle,其用途就是当一个事件被频繁的触发,需要我们人为的限制函数的触发频率,就需要用到函数节流。
例如:原声的mousemove 的事件,当我们给某个元素绑定mousemove事件时,每次移动,都会触发mousemove的回调函数,但是我们不需要每次移动距离都触发回调函数,则可以通过节流,限制函数的触发频率。

函数去抖

去抖,英文名叫debounce,其用途就是当一个事件被频繁的触发,仅当事件结束时,才去执行回调函数,且仅执行一次。
例如:window.onresize事件,一般情况下,窗口大小改变时,我们只需要onresize事件结束时,才去执行回调函数,不需要每执行一次,就去调用回调函数,则可以使用函数去抖。

Underscore库中就有throttle和debounce的实现方法,附上大神的github上的源码解析。

https://github.com/hanzichi/underscore-analysis

你可能感兴趣的:(函数节流和函数去抖)