JavaScript高级——函数防抖与函数节流

函数防抖和函数节流是两个目的一样的方法,主要用于向服务器发送请求时的优化,防止发送请求的频率过高。不同之处在于,函数防抖是每n秒结束调用一次,函数节流是每n秒内调用一次。函数防抖 Debounce概念:在函数被触发n秒后再调用,如果n秒内再次触发,则重新计时。限定在一定时间内函数只能执行一次(防止你手抖点多次),而且执行的是在这一定时间内最后一次调用。function success(){...
摘要由CSDN通过智能技术生成

函数防抖和函数节流是两个目的一样的方法,主要用于向服务器发送请求时的优化,防止发送请求的频率过高。不同之处在于,函数防抖是每n秒结束调用一次,函数节流是每n秒内调用一次。

函数防抖 Debounce

概念:在函数被触发n秒后再调用,如果n秒内再次触发,则重新计时。限定在一定时间内函数只能执行一次(防止你手抖点多次),而且执行的是在这一定时间内最后一次调用。
函数去抖就是对于一定时间段的连续的函数调用,只让其执行一次。

function success(){
   
    console.log("提交成功")
}
// 1 定义防抖函数
const debounce = (fn, delay) => {
   
    let timer = null
    // 4 把setTimeout函数的结果返回给debounce函数
    return (...args) =>{
     //省略号表明输入不定参数,所有传递进来的参数都被放到一个数组中,赋值给变量args
        // 5 清除前上一次delay时间内触发的函数,确保最后一次触发重新计时调用
        clearTimeout(timer)
        // 3 设置一个定时器
        timer = setTimeout(()=>{
    // 注意这里要设置一个匿名函数调用fn()不能直接调用
            fn.apply(this, args
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值