Skip to content

掘金-节流与防抖

js
// 防抖函数,立即执行版本 
function debounce(func, wait) { 
    let timeout; 
    return function () { 
        const context = this; 
        const args = [...arguments]; 
        if (timeout) clearTimeout(timeout); 
        const callNow = !timeout; 
        timeout = setTimeout(() => { 
            timeout = null; 
        }, wait); 
        if (callNow) func.apply(context, args); 
    }; 
}
js
function throttle(func, wait) {
    var previous = 0;
    return function() {
        let now = Date.now();
        let context = this;
        let args = arguments;
        if (now - previous > wait) {
            func.apply(context, args);
            previous = now;
        }
    }
}
content.onmousemove = throttle(count,1000);