首页 > 其他分享 >防抖、节流 函数

防抖、节流 函数

时间:2022-09-19 20:12:29浏览次数:55  
标签:function 防抖 const 节流 interval gapTime arguments 函数

节流

function throttle(fn, interval) {
  let enterTime = 0 // 触发的时间
  const gapTime = interval || 1000 // 间隔时间,如果interval不传,则默认1000ms
  return function() {
    const context = this
    const backTime = new Date() // 第一次函数return即触发的时间
    if (backTime - enterTime > gapTime) {
      fn.call(context, arguments)
      enterTime = backTime // 赋值给第一次触发的时间,这样就保存了第二次触发的时间
    }
    console.log('节流成功!')
  }
}

 

防抖 

function debounce(fn, interval) {
  let timer
  const gapTime = interval || 1000 // 间隔时间,如果interval不传,则默认1000ms
  return function() {
    clearTimeout(timer)
    const context = this
    const args = arguments // 保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。
    timer = setTimeout(function() {
      fn.call(context, args)
    }, gapTime)
    console.log('防抖成功!')
  }
}

 

标签:function,防抖,const,节流,interval,gapTime,arguments,函数
From: https://www.cnblogs.com/hspl/p/16708892.html

相关文章

  • vue中防抖函数的写法以及用法
    1.准备好防抖函数functiondebounce(func,wait){lettimeout;returnfunction(...args){if(timeout)clearTimeout(timeout);l......
  • python主文件调用其他文件函数的方法
    关键:from文件名import函数名主文件(main.py)需要和包含子函数的文件(fun_cal_modulus8.py)放到同一路径下fun_cal_modulus8.pyfromnumpyimport*#8水平defc......
  • 运算函数
    除法运算:1/2表示,1为被除数,结果为0.5。但,1\2,2为被除数,结果为2mean(A,dim),求平均,dim=1表示按列求平均值,dim=2表示按行求平均值median(A,dim),求中位数,dim=1,按列......
  • react-native 函数组件调用函数组件的方法
    xxxRef.current.你的方法()  ......
  • python函数参数传递 可更改对象 不可更改对象
    1、函数分为内联函数和自定义函数2、参数传递:在python中,类型属于对象,变量是没有类型的例如:[1,2,3] 是List类型,"Runoob" 是String类型,而变量a是没有类型,她仅仅......
  • c++ inline内联函数
    引入内联函数的目的是为了解决程序中函数调用的效率问题,这么说吧,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其......
  • python lambda创建匿名函数
    注意:lambda只是一个表达式,函数体比def简单很多。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda函数拥有自己的命名空......
  • PowerShell 函数
    Powershell中的函数使用关键字(function)声明,后面依次跟函数名称、左右大括号。函数将执行的代码包含在这些大括号中。#创建函数FunctionGetPSversion{......
  • C语言学习第11天,函数递归和调试代码
    函数递归函数需要被另一个函数调用才能执行,而主函数main在程序运行时会被自动调用。其实函数也可以自己调用自己#include<stdio.h>voidfunc(intn){if(n==5)//n为5时,......
  • 非构造函数为何初始化被调用了
    前提@DataHpPatient···StringidNo;//有定义//StringidNoEnc;//!!!无定义···voidsetIdNoEnc(StringidNo){this.idNo=funA(idNo)}现象setIdNoEnc初始......