欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > 手写防抖函数、手写节流函数

手写防抖函数、手写节流函数

2025/2/5 13:45:57 来源:https://blog.csdn.net/weixin_45980065/article/details/145413122  浏览:    关键词:手写防抖函数、手写节流函数

文章目录

  • 1 手写防抖函数
  • 2 手写节流函数

1 手写防抖函数

  • 函数防抖是指在事件被触发n秒后再执行回调,如果在这n秒内事件又被触发,则重新计时。
  • 这可以使用在一些点击请求的事件上,避免因为用户的多次点击向后端发送多次请求。
function debounce(fn, await) {let timer = null;return function() {let self = this;let args = arguments;if (timer) {clearTimeout(timer);timer = null;}timer = setTimeout(() => {fn.call(self, args);}, await);}
}

2 手写节流函数

  • 函数节流是指规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。
  • 节流可以使用在scroll函数的事件监听上,通过事件节流来降低事件调用的频率。
function throttle(fn, delay) {let curTime = Date.now();return function() {let context = this;let args = arguments;let nowTime = Date.now();if (nowTime - curTime >= delay) {curTime = Date.now();return fn.apply(context, args);}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com