// func需要执行的函数
// wait延迟执行时间
// immediate---true 表立即执行,false 表非立即执行
function debounce(func,wait,immediate) {
let timeout
return function() {
let context = this
let args = arguments
if(timeout) clearTimeout(timeout)
if(immediate) {
let callNow = !timeout
timeOut = setTimeout(funtion(){
timeOut = null
},wait)
if(callNow) func.apply(context,args)
} else {
timeOut = setTimeout(function(){
func.apply(context,args)
},wait)
}
}
}
防抖
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 需求 原本是配合黄油刀的点击事件做点击防抖,例如: 后来做了一个串口的需求,那个串口的数据没有经过处理所以需要在代...
- import _ from 'lodash' onOperationClick:_.debounce(functi...
- 1. 在节流函数里,如何获取this问题 2. 在监听浏览器滚动中使用防抖,(removeEventListene...