防抖节流简单版(立即执行和延时执行)


 

.

  /**
   * @param {fn} 
   * @param {time} 时间间隔ms
   * @param {isRun}  是否立即执行:true false
   * @return {*}
   */

 /**
  * 防抖
  */
function fangdou(fn, time, isRun){ let timer = null; return function(arg){ if(timer){ clearTimeout(timer) }else{ isRun && fn(arg) } timer = setTimeout(()=>{ timer = null; fn(arg) }, time) } }

  /**
   * 节流
   */
  function jieLiu(fn, time, isRun){
    let timer = null;
    return function(arg){
      if(!timer){
        isRun && fn(arg)
        timer = setTimeout(()=>{
          timer = null;
          isRun || fn(arg)
        }, time)
      }
    }
  }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM