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
            }
        }
    }
  • 相关阅读:
    二 、异常
    Java的基本概念
    Oracle case when
    oracle exists
    一 、前言
    location
    HTTP1.1初识
    数学学习笔记(持续更新中)
    [NOIP2017 提高组] 列队 题解
    [NOI2019] 回家路线 题解
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/14860226.html
Copyright © 2011-2022 走看看