博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
节流函数和防抖函数
阅读量:6590 次
发布时间:2019-06-24

本文共 766 字,大约阅读时间需要 2 分钟。

节流函数

节流即throttle,规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。

function throttle(fn, interval = 300) {    let canRun = true;    return function () {        var context = this        if (!canRun) return;        canRun = false;        setTimeout(() => {            fn.call(context, arguments);            canRun = true;        }, interval);    };}复制代码

防抖函数

debounce 函数防抖是指频繁触发的情况下,只有足够的空闲时间,才执行代码一次。比如坐电梯门要关了,结果有个人又要进来,电梯门就需要重新开关,想象如果有10个人陆陆续续进来,电梯门就会开开关关多次,这样的话还不如固定时间关一次门,用来节省消耗。

function debounce(method,time){    var timer = null ;    return function(){        var context = this;        //在函数执行的时候先清除timer定时器;        clearTimeout(timer);        timer = setTimeout(function(){            method.call(context, arguments);        },time);    }}复制代码

转载地址:http://whkio.baihongyu.com/

你可能感兴趣的文章
html+css+javascript学习记录1
查看>>
【DL-CV】损失函数,SVM损失与交叉熵损失
查看>>
我要学好分布式-RMI通信框架
查看>>
央视和阿里云爆改一间房,帮视障人群回归正常世界
查看>>
leetcode-29. Divide Two Integers
查看>>
webpack源码分析(一)-流程分析
查看>>
集合(一) - ArrayList
查看>>
Java高并发及测试代码
查看>>
架构模式mv*,flux
查看>>
180706-BigDecimal除法的精度问题
查看>>
你真的搞懂了负数取模吗?
查看>>
新增16条设计规约!阿里巴巴Java开发手册(详尽版)开放下载!
查看>>
HTTP协议入门
查看>>
Python学习之路17-Django入门
查看>>
详解基于vue,vue-router, vuex以及addRoutes进行权限控制
查看>>
bootstarp table 采坑专辑
查看>>
Rancher 2.0正式发布:简化、加速企业Kubernetes落地
查看>>
ES6 系列之模板字符串
查看>>
网络安全—xss
查看>>
MySQL Optimization 优化原理
查看>>