Java教程

记录一下学习防抖和节流的操作

本文主要是介绍记录一下学习防抖和节流的操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

所谓节流和防抖,其原理就是定时器,我把我的简单理解记录一下

防抖(debounce):刚开始执行一次,然后在特定时间里该方法只执行一次

场景:用户多次点击按钮

节流(throttle):刚开始不执行,只在特定时间里执行一次

场景:在输入框输入值的时候,可以减少赋值操作

防抖(这边测试是利用原生的写的,当然也可以进行封装操作,刚开始这样好理解一些)

     let flag=false
        debounce.onclick=()=>{
            if(!flag){
                flag=true
                 //做的一些事情
                setTimeout(()=>{
                    flag=false
                },1000)
            }
        }

节流

    var timer=null
    input.oninput=()=>{
         clearTimeout(timer);
         timer = setTimeout(() => {
           //做的事情
         }, 1000)
     }

 

这篇关于记录一下学习防抖和节流的操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!