函数防抖与函数节流

函数防抖

 (函数防抖)在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。给了用户思考输入的时间,减少了不必要的请求

应用场景:类似百度的实时搜索,如果是用户输入后,按键弹起的时候,发送很多没有必要的请求,可以如下改进

这个红色框起来的是高阶函数,是函数防抖的核心。

我们在输入框输入1的时候,他不会马上就发送ajax请求,而是过了500之后再发,在这个时间之类,我们可以输入自己想输入的,避免发送没必要的请求。减小了服务器压力。

函数节流

规定在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。
应用场景:(1)鼠标不断点击触发,mousedown(单位时间内只触发一次);(2)监听滚动事件,比如是否滑到底部自动加载更多,用throttle来判断
 

这个红色框起来的是高阶函数,很好的利用了闭包为函数节流,本次函数节流的核心。

 

在1000里面输入多个值,只会执行一次。单位时间内多次输入无效。

原文地址:https://www.cnblogs.com/liyusmile/p/9810325.html