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

防抖,节流函数

时间:2023-07-12 17:36:41浏览次数:27  
标签:function 防抖 定时器 func 节流 timeout wait 函数

// 防抖函数
function debounce(func, wait) {
  // 创建一个定时器
  let timeout
  // 返回一个函数,这个函数会在一个时间区间结束后调用 func
  return function() {
    // 如果定时器还在运行,则清除定时器
    timeout && clearTimeout(timeout)
    // 否则,设定定时器,等待 wait 毫秒后执行 func 函数
    timeout = setTimeout(() => {
      // 执行 func 函数
      func.apply(this, arguments)
    }, wait)
  }
}


// 节流函数
function throttle(func, wait) {
  // 创建一个定时器
  let timeout = null
  // 返回一个函数,这个函数会在一个时间区间结束后调用 func
  return function() {
    // 如果定时器还在运行,则跳过
    if (timeout) return
    // 否则,设置定时器,等待 wait 毫秒后执行 func 函数
    timeout = setTimeout(() => {
      // 执行 func 函数
      func.apply(this, arguments)
      // 清空定时器
      timeout = null
    }, wait)
  }
}

标签:function,防抖,定时器,func,节流,timeout,wait,函数
From: https://www.cnblogs.com/qinglaoshi/p/17548285.html

相关文章

  • PYTHON 函数 使用
    如何使用PYTHON里的ZIP函数a=["Peter","Ben","Alice","Jim"]b=["Apple","Banana","Pear","Orange"]新建两个列表,赋予不同的内容。pack=zip(a,b)print(list(pack))pack=zip(a,b)prin......
  • 函数
    函数定义与调用1先定义后调用2定义阶段不执行代码3调用函数才会执行代码(调用的时候一定要在函数名后加括号,若有参数,则传递参数)4函数名就相当于变量名指向的是内存中的函数代码所在的位置func()#报错name'func'isnotdefined#定义函数deffunc():print(......
  • python实现两函数通过缩放,平移和旋转进行完美拟合
    Curve_fitting前几天在工作的时候接到了一个需求,希望将不同坐标系,不同角度的两条不规则曲线,并且组成该曲线的点集数量不一致,需求是希望那个可以通过算法的平移和旋转搞到一个概念里最贴合,拟合态进行比较。这是初步将两组数据画到图里的情况,和背景需求是一致的。其实从肉眼看过......
  • VBA常用的文本函数 instr、mid
    InStr函数DimSearchString,SearchChar,MyPosSearchString="XXpXXpXXPXXP"'Stringtosearchin.SearchChar="P"'Searchfor"P".'Atextualcomparisonstartingatposition4.Returns6.MyPos=Inst......
  • Java IO:字节流、字符流、缓冲流
    原文:https://blog.csdn.net/mu_wind/article/details/108674284流的特性有下面几点:先进先出:最先写入输出流的数据最先被输入流读取到。顺序存取:可以一个接一个地往流中写入一串字节,读出时也将按写入顺序读取一串字节,不能随机访问中间的数据。(RandomAccessFile除外)只读或只写:......
  • 子查询高级查询以及集合运算统计函数
    子查询单行子查询子查询部分的返回结果为单行的结果多行子查询子查询部分的返回结果为多行的结果,主要关键字有any,in,allany表示任意一个,在集合中有一个满足条件即可all所有,在集合中所有都满足即可in表示任意一个,在集合中有一个满足条件即可eg:s......
  • 响应式数据的判断函数
    isRef:检查一个值是否为一个ref对象isReactive:检查一个对象是否是由reactive创建的响应式代理isReadonly:检查一个对象是否是由readonly创建的只读代理isProxy:检查一个对象是否是由reactive或者readonly方法创建的代理......
  • 关于C语言中的《scanf》和《printf》函数的返回值
    一,scanfC语言中的scanf函数的返回值类型是int,表示你正确输入参数的个数代码如下:#include<stdio.h>intmain(){ inta=0; intb=0; intnum=scanf("%d%d",&a,&b); printf("num=%d\n",num); return0;}一,printfC语言中的printf函数的返回值类型是int,表......
  • 函数
    函数1.随机产生字符串//函数delimiter$$createfunctionran_string(nint)returnsvarchar(255)begindeclarechars_strvarchar(100)default'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';declarereturn_strvarchar(255)default'';dec......
  • 指针函数与函数指针
    1.指针函数先看下面的函数声明,注意,此函数有返回值,返回值为int*,即返回值是指针类型的。1.int*f(inta,intb);上面的函数声明又可以写成如下形式:int*f(inta,intb);让指针标志*与int紧贴在一起,而与函数名f间隔开,这样看起来就明了些了,f是函数名,返回值类型是一个i......