防抖和节流的概念理解

防抖:

在事件被触发的n秒后执行回调,如果在这n秒内又被触发,则重新计时。

<script>
var timer=null,
function fangdou(fn,delay){
	clearTimeOut(timer)
	timer=setTimeOut(fn,delay)
}
function checkout(input){
	fangdou(function(){
		show(input.value)
	},1000)
}
function show(val){
	if(val && val.length < 7){
		alert('长度不够啊,兄弟!')
	}
}
</script>

节流:

在一个单位时间内,只能触发一次函数。如果这个单位时间内触发多次函数,只有一次生效。

<script>
function throttle(func, wait) {
var context, args;
var timer;
return function() {
    context = this;
    args = arguments;
    if (!timer) {
        timer = setTimeout(function(){
            timeout = null;
            func.apply(context, args)
        }, wait)
    }
}
}
</script>

posted on 2024-06-19 18:09  弗诺缺德  阅读(6)  评论(0编辑  收藏  举报

导航