zoukankan      html  css  js  c++  java
  • 防抖节流(立即执行和延时执行)

    /**
         * @description: 
         * @param {*} fn
         * @param {*} time
         * @param {*} type 1表示立即执行,其他表示非立即执行
         * @return {*}
         */
        function fangdou(fn, time, type){
          if(type == 1){
            let timer = null;
            let canRun = true;
            return function(){
              if(timer){
                clearTimeout(timer);
                canRun = false;
              }
              timer = setTimeout(()=>{
                timer = null;
                canRun = true;
              }, time)
              canRun && fn(...arguments)
            }
          }else{
            let timer = null;
            return function(){
              console.log("fff", arguments)
              if(timer){
                clearTimeout(timer)
              }
              timer = setTimeout(()=>{
                fn(...arguments)
                timer = null
              }, time)
            }
          }
        }
    /**
         * @description: 
         * @param {*} fn
         * @param {*} time
         * @param {*} type 1表示立即执行,其他表示非立即执行
         * @return {*}
         */
        function jieliu(fn, time, type){
          let canRun = true;
          if(type == 1){
            return function(){
              if(canRun){
                fn(...arguments);
                canRun = false;
                setTimeout(()=>{
                  canRun = true
                }, time)
              }
            }
          }else{
            return function(){
              if(canRun){
                canRun = false;
                setTimeout(()=>{
                  fn(...arguments)
                  canRun = true
                }, time)
              }
            }
          }
        }
  • 相关阅读:
    我該怎麼辦
    這麼多年興許從來沒有釋放過
    我想做一個快樂的孩子
    纠结
    如何克服心煩氣躁
    如何樹立威嚴
    第零次作业
    第三周作业
    第二周作业,
    第二周作业
  • 原文地址:https://www.cnblogs.com/djjlovedjj/p/14292694.html
Copyright © 2011-2022 走看看