节流防抖

132 阅读1分钟

1.防抖

当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次

用处:输入自动查询

function debounce(fn, wait) {    
    let timeout = null;    
    return function() {        
        if(timeout !== null) clearTimeout(timeout);        
        timeout = setTimeout(fn, wait);    
    }
}

2.节流

当持续触发事件时,保证一定时间段内只调用一次事件处理函数 用处:监听滚动事件

function throttle(fn,delay){
	let prev = Date.now();
    return function() {
    	let now = Date.now();
    	if(now - prev >= delay){
        	prev=now;
            fn();
        }
    }
}

主页