js节流与防抖

js节流和防抖

  1. 函数节流:当一个函数在大于等于某个周期时间才执行,如果在周期内是不执行的。
  2. 函数防抖:短时间内多次触发一个事件,只执行最后一次,或者执行最开始的一次,当在等待时间内再次触发事件时 重新开始计时。
    节流代码
 function thorttle(time,text) {
        var timer = 0//初始时间 0s
        return function(){ //返回一个函数
        var nowTime = new Date().getTime();//获取当前的时间
        if (nowTime - timer >= time) {//判断是否大于等于需要执行的时间
        text();//调用
        timer = nowTime;//将初始时间赋值为现在的时间 返回出去
        }
        }
       
    }

    function text() {
        te.innerText = Number(te.innerText) + 1
    }
    btn.onclick = thorttle(3000, text)

防抖

function fangdou(time, caozuo) {
        var timer = null;      
        return function () {
            clearTimeout(timer); 
            timer = setTimeout(function () {
                wenben();
            }, time)
        }
    }

    function wenben() {
        console.log(te.value)
    }
    te.oninput = fangdou(2000, wenben);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值