手写节流防抖函数

防抖(只取最后一次)

应用场景:搜索框停止输入后再触发搜索、滚动触发事件等

function debounce(fn, delay = 200) {
    let timer
    return function () {
        if (timer) clearTimeout(timer)
        timer = setTimeout(() => {
            fn.apply(this, arguments)
        }, delay)
    }
}
window.addEventListener('scroll', debounce(() => { console.log('逻辑操作'); }));

节流(只取第一次)

应用场景:防止高频点击提交

function throttle(fn, delay = 200) {
    let timer
    return function () {
        if (timer) return
        timer = setTimeout(() => {
            fn.apply(this, arguments)
        }, delay)
    }
}

相关推荐

  1. 节流函数

    2024-06-12 10:36:04       28 阅读
  2. &节流 原理及方法

    2024-06-12 10:36:04       46 阅读
  3. 函数,节流函数

    2024-06-12 10:36:04       65 阅读
  4. 实现

    2024-06-12 10:36:04       31 阅读
  5. vue封装全局的节流函数

    2024-06-12 10:36:04       32 阅读
  6. lodash库(节流

    2024-06-12 10:36:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 10:36:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 10:36:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 10:36:04       82 阅读
  4. Python语言-面向对象

    2024-06-12 10:36:04       91 阅读

热门阅读

  1. AI热会逐渐降温,AGI普及不了多少场景

    2024-06-12 10:36:04       29 阅读
  2. C++移动语义

    2024-06-12 10:36:04       25 阅读