防抖節流簡單版(立即執行和延時執行)


 

.

  /**
   * @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