节流阀和去抖动的基本实现方法介绍

互联网 19-4-13

本篇文章给大家带来的内容是关于节流阀和去抖动的基本实现方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

节流阀throttle

触发的事件以周期的形式去执行,而非实时。如滴水的水龙头。

function throttle (fn, delay) {   // 利用闭包变量时效性   let timeout   let arg   return function () {     arg = arguments     if (!timeout) {       timeout = setTimeout(() => {         fn.apply(this, arg)         timeout = null       }, delay)     }   } } // demo /* var test = throttle(function (a) {console.log(a)}, 1000) test(1) // 不执行 test(2) // 不执行 test(3) => 3 test = null // 不需要时释放内存 */

去抖动debounce

事件最后一次触发的N毫秒后触发,如电梯门。

function debounce (fn, delay){   let timeout   return function(){     const args = arguments     clearTimeout(timeout)     timeout = setTimeout(() => {       fn.apply(this, args)     }, delay)   } } // 用法同throttle

以上就是节流阀和去抖动的基本实现方法介绍的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: JavaScript
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:JavaScript常用数组的操作方法总结(代码)

相关资讯