函数节流

所谓节流,就是避免函数多次执行,比如window.onresize 函数,在改变窗口大小的时候回连续执行n次,严重消耗内存,又如表单input事件,每次输入都会触发这个事件,造成性能损耗。此时便需要运用函数节流。

实现原理:第一次调用函数,创建一个定时器,在指定的时间间隔之后运行代码。当第二次调用该函数时,它会清除前一次的定时器并设置另一个。如果前一个定时器已经执行过了,这个操作就没有任何意义。然而,如果前一个定时器尚未执行,其实就是将其替换为一个新的定时器。

列一:

此时每次输入都会调用queryData函数,对函数加以修改

此时输入内容,触发的事节流函数 throttle,在throttle中首先清楚上一次的定时器。如果在500毫秒之内,上一次的函数便来不及执行,重新生成了定时器,达到节流的目的

列二:

        当窗口改变时会立即调用n次getWidth函数知道停止改变窗口大小,

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