zoukankan      html  css  js  c++  java
  • 防抖 | 节流

    1 防抖 | debounce

    函数防抖:在特定时间内,只执行一次

    function debounce(fn, delay) {
        // 定义一个空变量
        let timer = null
        return function() {
            clearTimeout(timer)  // 持续触发清除定时器就不会触发了
            timer = setTimeout(() => {
                fn.apply(this, arguments)
            }, delay)
        }
    }
    

    2 节流 | throttle

    函数节流:在特定时间后,重新执行一次

    function throttle(fn, delay) {
        // 定义一个标志
        let flag = true
        return function() {
            if (!flag) {
                // 不执行
                return false
            }
            // 在特定时间内,设置标志不执行
            flag = false
            setTimeout(() => {
                fn()
                flag = true
            }, delay)
        }
    }
    
  • 相关阅读:
    Multidimensional Arrays
    TortoiseGit
    Excel教程(14)
    Excel教程(13)
    Excel教程(12)
    Excel教程(11)
    lock
    reflect
    game
    html x
  • 原文地址:https://www.cnblogs.com/0x29a/p/14296825.html
Copyright © 2011-2022 走看看