美文网首页
函数节流和防抖的区别以及应用

函数节流和防抖的区别以及应用

作者: laogui_ | 来源:发表于2020-02-20 23:39 被阅读0次

函数防抖debounce):

含义:延迟函数执行 ; 用处:多用于input框输入时,显示匹配的输入内容。(n秒后延迟执行)

函数节流(throttle):

含义:单位时间内,只执行第一次触发,之后的时间内都不执行,知道单位时间结束。 (立即执行,n秒后在立即执行)

用处:防止按钮重复点击,页面滚动,窗口resize等。


两者的区别:函数节流是减少函数的触发频率,而函数防抖则是延迟函数执行,并且不管触发多少次都只执行最后一次。


<举个栗子><举个栗子><举个栗子>

防抖和节流函数一般都是封装在公用的js中使用:

utils.js:

/*函数节流*/

function throttle(fn, interval) {

  var enterTime = 0;//触发的时间

  var gapTime = interval || 300 ;//间隔时间,如果interval不传,则默认300ms

  return function() {

    var context = this;

    var backTime = new Date();//第一次函数return即触发的时间

    if (backTime - enterTime > gapTime) {

      fn.call(context,arguments);

      enterTime = backTime;//赋值给第一次触发的时间,这样就保存了第二次触发的时间

    }

  };

}

/*函数防抖*/

function debounce(fn, interval) {

  var timer;

  var gapTime = interval || 1000;//间隔时间,如果interval不传,则默认1000ms

  return function() {

    clearTimeout(timer);

    var context = this;

    var args = arguments;//保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。

    timer = setTimeout(function() {

      fn.call(context,args);

    }, gapTime);

  };

}

export default {

  throttle,

  debounce

};

index.vue:

import tool from "../../static/js/utils.js";

Page({

  data:{

    win_scrollTop:0

  },

  onPageScroll: tool.throttle(function(msg){

 //执行函数

  }),

  gotoUnlock: tool.debounce(function() {

    //执行函数

  }),

})

原文链接:https://www.cnblogs.com/zjjDaily/p/10840276.html

相关文章

  • 函数节流与函数防抖

    函数节流与函数防抖的区别JS魔法堂:函数节流(throttle)与函数去抖(debounce)函数的防抖与节流 自...

  • 函数节流和防抖的区别以及应用

    函数防抖(debounce): 含义:延迟函数执行 ; 用处:多用于input框输入时,显示匹配的输入内容。(n秒...

  • 2018-09-04 函数节流和函数防抖

    函数节流以及防抖

  • Javascript 基础

    1、函数防抖和函数节流 【《javascript高级程序设计》里,函数节流是这里讲的函数防抖。】函数防抖: 在事件...

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

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

  • 前端常见面试题(十五)@郝晨光

    什么是函数防抖和函数节流?有什么区别? 概念 函数防抖 函数防抖,就是指触发事件后在 n 秒内函数只能执行一次,如...

  • 函数防抖防抖/节流

    众所周知,函数节流和函数防抖都是优化高频率执行js代码的一种方法,二者的区别及使用方法如下: 函数节流 函数防抖,...

  • 函数防抖与节流

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

  • JS函数防抖与节流

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

  • JavaScript函数节流

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

网友评论

      本文标题:函数节流和防抖的区别以及应用

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