防抖

作者: tenro | 来源:发表于2021-10-28 11:01 被阅读0次

非立即执行

function debounce(fn, wait){
    let timeout;
    return function(){
        let context = this;
        let args = arguments;
          
        if(timeout) clearTimeout(timeout)
        
        timeout = setTimeout(() => {
            fn.apply(context, args)
        })
}

立即执行

function debounce(fn, wait){
    let timeout;
    return function(){
        let context = this;
        let args = arguments;
          
        if(timeout) clearTimeout(timeout)
        let callNow = !timeout

        timeout = setTimeout(() => {
            timeout = null
        })
        
        if (callNow) fn.apply(context, args)
}

相关文章

  • 索尼机身防抖和镜头防抖

    索尼微单系统拥有带防抖功能的机身和带防抖功能的镜头。无论防抖组件位于哪里,它们都属于光学防抖。 机身防抖 机身防抖...

  • js 防抖 节流

    节流 防抖1 防抖2

  • javaScript 防抖函数

    一. 防抖函数的定义与使用 防抖函数的定义 防抖函数的调用 二. 防抖函数应用场景 其实在HTML 和javaSc...

  • 防抖与节流

    1. 防抖函数 1.1 防抖定义: 函数防抖(debounce):当持续触发事件时(例如mousemove),一定...

  • 项目常用代码

    节流 } 防抖 } 页面滚动(requestAnimationFrame) vue全局点击防抖

  • 函数防抖防抖/节流

    众所周知,函数节流和函数防抖都是优化高频率执行js代码的一种方法,二者的区别及使用方法如下: 函数节流 函数防抖,...

  • JS函数防抖

    JS 中的函数防抖 一、什么是函数防抖? 概念: 函数防抖(debounce), 就是指触发事件后,在 n 秒内函...

  • js 防抖和节流

    防抖 防抖是js优化的重要的一部分,也是面试中手写代码最常考的题目。那么我们为什么要防抖?防抖是什么意思?比如我们...

  • JavaScript防抖和节流

    1. 认识防抖和节流 1.1. 对防抖和节流的认识 防抖和节流的概念其实最早并不是出现在软件工程中,防抖是出现在电...

  • 节流与防抖

    使用防抖和节流技术的意义:节约资源,提升用户体验。 防抖(debounce) 防抖:触发高频事件后n秒内函数只会执...

网友评论

      本文标题:防抖

      本文链接:https://www.haomeiwen.com/subject/xgtvaltx.html