vue中函数防抖和节流

/**
 * 函数防抖(最后一次点击)
 * @params fn
 * @params delay
 * @return {function}
 * @constructor
 */
export const debounce = (fn ,t)=>{
     
    let delay = t || 3000;
    let timer = null;
    return function(){
     
        let argus = arguments;
        if(timer){
     
            clearTimeout(timer);
        }
        timer = setTimeout(()=>{
     
            timer = null;
            fn.apply(this,argus);
        },delay)
    }
}
/**
 * 函数节流
 * @param fn
 * @param interVal
 * @return {function}
 * @constructor
 */
export const throttle = (fn,t)=>{
     
    let lastTime = "";
    let timer = "";
    let interVal = t || 3000;
    return function(){
     
        let argus = arguments;
        let nowTime = Date.now();
        if(lastTime && nowTime - lastTime{
     
            clearTimeout(timer);
            timer = setTimeout(()=>{
     
                lastTime = nowTime;
                fn.apply(this.argus);
            },interVal)
        }else{
     
            lastTime = nowTime;
            fn,apply(this.argus);
        }
    }
}

你可能感兴趣的:(笔记,vue,javascript,vue.js,es6)