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)
              }
            }
          }
        }
  • 相关阅读:
    Add two numbers
    House Robber && House Robber II
    Clone Graph
    224. Basic Calculator
    29. Divide Two Integers
    365. Water and Jug Problem
    435. Non-overlapping Intervals
    452. Minimum Number of Arrows to Burst Balloons
    138. Copy List with Random Pointer
    43. Multiply Strings
  • 原文地址:https://www.cnblogs.com/djjlovedjj/p/14292694.html
Copyright © 2011-2022 走看看