美文网首页
防抖函数及其应用

防抖函数及其应用

作者: 弹力盒 | 来源:发表于2021-08-10 10:19 被阅读0次

建议使用 lodash 插件里面的 debounce 函数来实现

1、防抖函数简单原理

/**
 * 防抖函数
 * 定义:
 *    就是指触发事件后在 n 秒内函数只能执行一次
 *    如果在 n 秒内又触发了事件,则会重新计算函数执行时间
 * @param {需要防抖的函数} fn
 * @param {规定的时间内} delay
 * param1、param2 为额外定制接受的参数
 */
function debounce (fn, delay, param1 = '', param2 = '') {
  /* 获取接收的参数,排除掉前两位固定的参数 */
  const params = [...arguments].splice(2)
  var timer = null
  return function () {
    /* 清除上一次的定时器 */
    clearTimeout(timer)
    /* 重新设置新的演延时器 */
    timer = setTimeout(function () {
      fn.call(this, ...params)
    }, delay)
  }
}

2、防抖函数的应用

/**
 * 某个元素点击要执行的事件
 * 假设要对这个事件进行节流
 */
function task (params = 'params') {
  console.log(1, params);
}

/**
 * 防抖函数的应用
 */
$('.dom').on('click', debounce(task, 1000, 'hehe'))

相关文章

  • 防抖函数及其应用

    建议使用 lodash 插件里面的 debounce 函数来实现 1、防抖函数简单原理 2、防抖函数的应用

  • 防抖函数及其应用

    移动端会有一个搜索框,输入的时候就会在输入框下面弹出搜索结果 这个情况就会用到防抖dom 首先,创建一个防抖函数 ...

  • javaScript 防抖函数

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

  • JavaScript函数节流

    一、前言 相对于函数防抖来说,函数节流的应用场景和频次更大一些。当然,如果想复习函数防抖,请点击《函数防抖》。废话...

  • 如何讲清楚函数节流?

    相对于函数防抖来说,函数节流的应用场景和频次更大一些。 如果想复习函数防抖,请看这里: 如何讲清楚函数防抖? 正题...

  • 函数防抖与节流

    函数防抖与节流 函数防抖与节流是很相似的概念,但它们的应用场景不太一样。 函数防抖: 任务频繁触发的情况下,只有任...

  • 函数防抖和函数节流

    概念 函数防抖和函数节流的目的都是降低回调执行频率,节约资源,控制函数的执行的次数 函数防抖: 主要应用在事件被...

  • 什么是节流、防抖函数?作用及应用场景?如何实现?

    函数防抖(debounce): 函数节流(throttle): 共同点: 函数节流的应用场景(throttle) ...

  • [JavaScript] 防抖函数debounce的实现及其应用

  • JS函数防抖与节流

    函数节流和防抖在前端开发中应用广泛,例如:函数防抖可以用于对用户输入的自动补全操作、函数节流可以用于对用户浏览行为...

网友评论

      本文标题:防抖函数及其应用

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