zoukankan      html  css  js  c++  java
  • 函数去抖和函数节流

    函数去抖(debounce):当调用函数n秒后,才会执行该动作,若在这n秒内又调用该函数则取消前一次并重新计算执行时间(频繁触发的情况下,只有足够的空闲时间,才执行代码一次)

    function debounce(delay, cb) {
        let timer
        return function () {
            if (timer) clearTimeout(timer)
            timer = setTimeout(function () {
                cb()
            }, delay)
        }
    }

    函数节流(throttle):函数节流的基本思想是函数预先设定一个执行周期,当调用动作的时刻大于等于执行周期则执行该动作,然后进入下一个新周期(一定时间内js方法只跑一次。比如人的眨眼睛,就是一定时间内眨一次)

    function throttle(cb, delay) {
        let startTime = Date.now()
        return function () {
            let currTime = Date.now()
            if (currTime - startTime > delay) {
                cb()
                startTime = currTime
            }
        }
    }
  • 相关阅读:
    最短路小变形
    最短路
    bfs + 路径输出
    优先队列
    dijkstra
    重载运算符-operator
    最短路
    二分图匹配
    依赖型的关系建立
    string 类
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/14860226.html
Copyright © 2011-2022 走看看