其他分享
首页 > 其他分享> > JS的防抖与节流

JS的防抖与节流

作者:互联网

定义

在规定的间隔时间范围内不会重复触发回调,只有大于这个时间间隔才会触发回调,把频繁触发变为少量触发

前面的所有的触发都被取消,最后一次执行在规定的时间之后才会触发,也就是说如果连续快速的触发,只会执行最后一次

节流

<div>
        <h1>计数器<span>0</span></h1>
        <button>点我+1</button>
 </div>


let span = document.querySelector('span')
    let btn = document.querySelector('button')
    let count = 0

    btn.onclick = _.throttle(function(){
        //节流:目前的这个函数5s执行一次
        //假如这里面有很多的业务代码,可以给浏览器充分的时间去解析
        count++
        span.innerHTML = count
        console.log(1);
    },5000)

防抖(debounce)

    <p>请你输入你搜索的内容: <input type="text"></p>

let inp=document.querySelector('input')
inp.oninput=_.debounce(function(){
 console.log('ajax');
},1000)

应用场景

防抖在连续的事件,只需触发一次回调的场景有:

节流在间隔一段时间执行一次回调的场景有:

 

标签:触发,防抖,一次,节流,JS,搜索,let
来源: https://www.cnblogs.com/jingxin01/p/16408277.html