函数防抖,与函数节流

BuleDog 2019-03-01 07:40:00 阅读数:221 评论数:0 收藏数:0

在项目中,我们会经常使用到mouseover,mouseenter,resize,scroll等,这些函数会频繁的触发,因此会造成资源浪费。

因此我们需要进行优化,这个时候就需要使用到函数防抖(debounce),或者函数节流(throttle)

1)函数防抖(debounce)

就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间(简言之:在我们操作结束之后的某一个时间之后执行一次

   var timer = null;
    function debounce () {
        if (timer) {
            clearTimeout(timer);
        }
        timer = setTimeout(function (){
            console.log("debouce");
        },400);
    }

2)函数节流

就是指连续触发事件但是在 n 秒中只执行一次函数(即使不停止操作,他也会一直按固定时间间隔执行)    

   var _timer = '';
    function thort () {
        if (_timer) {
            return '';
        }
        _timer = setTimeout(function () {
            console.log('thort');
            clearTimeout(_timer);
            _timer ='';
        },1000);
    }
    // 或者
    var previous = 0;
    function thortNew () {
        var now = new Date();
        if (now - previous > 400) {
            console.log('thortNew');
            previous = now;
        }
    }

分析:他们的不同?

如果都是使用setTimeout去实现的前提下,他们的区别就在于判断timer是否有值得情况下,是clearTimerout(timer)还是存粹的结束掉函数执行return。

参考链接:https://www.jianshu.com/p/c8b86b09daf0


版权声明:本文为[BuleDog]原创文章
转载请带上:http://copyfuture.com/blogs-details/b2e964cd6368eecd49e1df04f59d39ae
或:https://www.cnblogs.com/evaling/p/10454140.html


  1. 让古巴人抬不起头来的关塔那摩
  2. 这位就是传说中的“金主”???
  3. 喜欢玩的孩子才会学习
  4. 坐月子期间的23条黄金法则,宝妈们记住了!
  5. iOS日历控件
  6. 风口背后的电子烟代理商们:酒吧老板、美甲店长、转型创业者...
  7. 厅官疯狂“整”同事 还指使当涉黑团伙头目的下属殴打
  8. Hadoop InputFormat(一)输入文件分片
  9. 史上最逆袭的游戏!公司倒闭游戏却爆成一哥,25年赚了100亿!
  10. QQ能注销后,我测试了15个App,结果一言难尽
  11. Simulink 产品说明
  12. 特斯拉Supercharger超级充电站最近频繁遭到人为破坏
  13. iate id generator错误
  14. 网红电商如涵冲刺IPO:Q4营收近4亿 阿里与赛富是股东
  15. 研究表明预装Android应用程序会带来巨大的安全和隐私风险
  16. 音视频编解码技术(二):AAC 音频编码技术
  17. 百公里油耗仅1.3L,感觉省了“一个亿”!这款新能源汽车逆天了
  18. 003.Ansible基础使用
  19. 探讨一下实现幂等性的几种方式
  20. 张勇卸任阿里创投公司法人 阿里:这是常规管理动作
  21. 「美妆达人学院」香味护肤的快乐,精油会告诉你
  22. 转给学生:你读书虽苦,但父母更不易!(句句戳中泪点)
  23. hyperledger 浏览器部署以及接入自己项目
  24. 这是一条来自火星的诅咒
  25. 香港优秀导演系列传记——杜琪峰篇3(江湖永存)
  26. ASP.NET Core 打造一个简单的图书馆管理系统(二)Code First 多对多关系的建立
  27. 【Pycharm】安装及激活、界面调整、导入anaconda的依赖库、字体设置微软雅黑
  28. 一颗红心,两手准备
  29. Java 重建二叉树 根据前序中序重建二叉树
  30. 够狠!一场5比0踢出英格兰138年神迹,“欧洲中国队”在崛起
  31. 2019年2月汽车销量榜出炉,整体跌幅明显,今年都不买车了?
  32. 荷兰靠“做生意”崛起,它是怎么做到的?
  33. RabbitMQ (十三) 集群+单机搭建(window)
  34. 城市行车:最常见的6种违章,你犯过几次?
  35. 201901~201902 期推荐文章
  36. 域外观察 I 实行“治疗法学”的日本刑事司法制度
  37. Linux 系统调用过程详细分析
  38. 春雨将至,怎么除湿?这五种食物,个个都是“祛湿”高手!
  39. 游漫谈:电子游戏,从头细看——十五年两虎相争,造就SE新的篇章
  40. “我是被黑老大陈鸿志逼得辞职的,希望组织上给我一个正式的工作安排”
  41. 全国携号转网真的要来了 你准备要换网了吗?
  42. 宝宝发育好不好?这5点告诉你答案,只知道“大运动”远不够
  43. 《极限挑战5》首播,被雷佳音岳云鹏笑死,全程哈哈哈哈哈!
  44. 专为特种部队打造,40国特战装备,全球冲锋枪王者:UMP!
  45. 中国航母技术发展有多快?俄坦承已差距明显
  46. 切片
  47. 马刺:无论何时,都无法忽视的强者
  48. 【解答】蓝牙5.0和蓝牙4.2的区别在哪里?
  49. MyBaties --day1
  50. 这3个坏习惯很容易影响宝宝颜值!快看看你中招没?
  51. 三国第一神算,算出自己将死,诸葛亮想救他性命,也无能为力
  52. 为迎接荣耀10i上市,荣耀10价格骤降,网友:终于等到你!
  53. 人口下降第一国:20多年人口减少1/4,本国人为何离开?
  54. 从零开始学架构二 架构设计流程
  55. 日本为何至今还领先我们?不断学习其他国家优点,连外国都惊讶
  56. 太空“拆弹”:四两拨千斤,人类如何清理太空垃圾
  57. WordPress曝出插件漏洞 允许任何用户接管网站
  58. 河南一场大水,冲出罕见文物,制造方法至今成谜!
  59. 荷兰出现来自中国的奇怪包裹
  60. 召回车辆维修失败谁该买单?律师:店方有义务归还正常车辆
  61. 知乎上三十二条震撼心灵的句子
  62. java中的堆和栈
  63. B站网站后台工程源码疑似泄露 内含部分用户名密码
  64. Cookie和Session
  65. 忍无可忍无需再忍:华为正式起诉美国政府 任正非突围
  66. IG新教练再战RNG,当年带队掀翻巅峰SKT,网友:宁王打不过!
  67. 背叛美队把钢铁侠打成植物人!代表女权的惊奇队长是如何诞生的
  68. 从2015年百度站长的一则公告回头看百度的骚操作
  69. 陈冠希称不是朋友,杨千嬅回应:虽然联络很少,但我把他当朋友
  70. 06JavaScript变量
  71. Supervisor 为服务创建守护进程
  72. asp.net core 系列 17 通用主机 IHostBuilder
  73. 全球冲锋枪之王——UMP:专为特种部队打造,将MP5拉下“神坛”
  74. 科研费用超过除中国外其它国家军费开支:美军科研费用不得不服
  75. 罗马军团横扫世界,但却为什么在匈奴人面前不堪一击
  76. 盐城爆炸已致62人遇难 仍有28人失踪
  77. 孩子的坏脾气是你自己养成的,不要怪别人!(值得收藏)
  78. LPL战火纷乱,各队为晋级季后赛打响“莫斯科保卫战”
  79. 木村拓哉的微博画风真的好特别……
  80. 魅族 Zero 众筹失败,黄章:市场部瞎搞
  81. 陈奕迅夫妇庆结婚13周年,亲昵同框羡煞众人,甜出荧幕的神仙爱情
  82. EF6学习笔记八:实体状态以及实现IEnumerable<>和实现IQueryable<>接口数据集查询方法的支持差异
  83. 【统治世界的精英集团】
  84. 食道癌术前术后有哪些饮食注意事项?
  85. Java程序员有话说 大专生毕业 6 年月薪 3W+:不从众也不普通
  86. 互联网金融牌照有哪些 金融牌照一览表
  87. ​参与200余起战争 美军越打越有钱 但有一种仗他们不会轻易尝试
  88. 总结——01背包问题 (动态规划算法)
  89. 阻止转移海外资产 美国加大制裁马杜罗!同一天打击伊朗科学家
  90. 腾讯游戏的下一棵摇钱树?
  91. 电竞行业打破壁垒 腾讯打造女子赛事加速布局
  92. 实时监听input输入框value的变化:
  93. 深宫中的禁忌《三国之志2》皇城揭秘
  94. 为什么手术麻醉前要禁食?吃了东西的病人怎样麻醉?
  95. 开始转变方向,学习Linux——《Linux就该这么学》
  96. 大萧条时期,数百万美国人找不到工作,职业女性成了“替罪羊”
  97. 同时被免职!陕西副省长陈国强和分管的自然资源厅厅长杨忠武
  98. 多措并举 推动新能源汽车行业行稳致远
  99. 如何用日语怼人,入门学习中的三大疑惑
  100. 补水保湿比较好的品牌

  1. Python开发:部分第三方库无法在线安装解决方法(949)
  2. [Swift]LeetCode325. 最大子数组之和为k $ Maximum Size Subarray Sum Equals k(779)
  3. Matlab 2019a 安装包下载以及安装和激活(720)
  4. 仅限Edge和Chrome访问 全新网页端Skype应用上线(686)
  5. 前端笔记之NodeJS(一)初识NodeJS&内置模块&特点(684)
  6. C#读取excel文件提示未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序(663)
  7. 【预警通告】Weblogic反序列化远程代码执行漏洞(640)
  8. Visual Studio 2019 正式发布,重磅更新,支持live share(600)
  9. 【预警通告】Apache Tomcat远程代码执行漏洞CVE-2019-0232(573)
  10. 网上赌博平台维护审核提不了款怎么办?(535)
  11. React 与 React-Native 使用同一个 meteor 后台(529)
  12. Sublime Text3 最新版3207 安装及破解(458)
  13. Visual Studio 2019 正式发布(389)
  14. [翻译] Visual Studio 2019: 极速编码. 智能工作. 创造未来.(389)
  15. 刘强东身边的CXO还有谁“幸存”(373)
  16. 舍命生子产妇吴梦丈夫怒斥:没抢肺源不是精神分裂,网友断章取义(371)
  17. Confluence SSRF及远程代码执行漏洞处置手册(370)
  18. 阿里巴巴2018年纳税516亿元 同比增40%(370)
  19. 机器学习 ML.NET 发布 1.0 RC(369)
  20. K8s集群安装--最新版 Kubernetes 1.14.1(338)
  21. 雷军清华演讲实录:小米9年的创新、变革与未来(334)
  22. 小米手机卖不动了?(327)
  23. F#周报2019年第14期(317)
  24. 积分一样却选手下败将出战国际赛,《最强大脑》云队选手被坑了?(300)
  25. 《最强大脑》要垮?桑洁魏坤琳出轨细节被扒,戚薇才是神助攻(257)
  26. 华电教授孙玉兵被指与昔日同学共同学术造假,多所高校调查(251)
  27. F#周报2019年第15期(249)
  28. 日本明仁天皇退位,日本“平成”年代结束(246)
  29. linux系统安装cdcfordb2udb(241)
  30. Oracle甲骨文大规模裁员,你背离时代就会被淘汰(240)
  31. 他联系叙恐怖分子“卖军火”,称能搞到2000枚导弹,关键时刻中国警察出手(237)
  32. 针对django2.2报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: ill....(236)
  33. 魔兽世界:8.15搏击俱乐部坐骑获取流程 鳄鱼布鲁斯坐骑(236)
  34. 女友被曝插足许志安郑秀文婚姻 知情人透露马国明已下定决心分手(232)
  35. SQL简介及MySQL的安装目录详解(229)
  36. 视觉中国深夜道歉:全面配合监管部门彻底积极整改(229)
  37. 为什么国内汽车用沥青阻尼片,而欧洲主机厂却用树脂?(229)
  38. 谁是苏小明饭局爆粗偷拍者?知情人称另有其人(225)
  39. NodeJs之邮件(email)发送(223)
  40. 迪玛希好惨!昨晚《歌手》为声入人心男团帮帮唱,却再被指控侵权(223)
  41. 市值暴跌90%,世界零售巨头申请破产战胜了所有对手却输时代(221)
  42. 函数防抖,与函数节流(221)
  43. 机器学习基石笔记:01 The Learning Problem(218)
  44. 深度学习python的配置(Windows)(215)
  45. [深度应用]·实战掌握Dlib人脸识别开发教程(213)
  46. 许志安出轨视频系蓄谋偷拍?司机被曝收40万装红外摄像头(210)
  47. Google AI 系统 DeepMind 高中数学考试不及格(210)
  48. 干货!21部漫威电影观影顺序指南,在《复联4》之前赶紧补齐!(209)
  49. 赌命生子九个月后,吴梦离世:前半辈子任性了,我用生命买单(206)
  50. 威廉王子出轨凯特王妃闺蜜? 外媒称婚外情致兄弟反目(203)
  51. spring-cloud-sleuth+zipkin源码探究(203)
  52. WebGL three.js学习笔记 纹理贴图模拟太阳系运转(201)
  53. 新更新kb4493472导致无法正常开机(195)
  54. 杜敬谦死因疑曝光!或因他这一特殊的训练方式,泳迷高呼孙杨退役(191)
  55. AntDesign Form表单字段校验的三种方式(189)
  56. 韦杰落网,金诚集团终局(188)
  57. 华为推出方舟编译器 称可提升安卓系统效率(186)
  58. 山东庆云民企3000亩土地被贱卖 国企接盘拟转性(185)
  59. 《权力的游戏》龙妈有那么多爱她的人,为什么最终会选择琼恩雪诺(183)
  60. 张无忌为什么爱上她?陈钰琪版赵敏终于给答案了(181)
  61. “国防”靠美国? 韩国瑜=马英九2.0? 走着瞧(180)
  62. 直认与老公感情淡了!27岁TVB上位女星:我们不是好熟(180)
  63. Python破解Wifi密码思路(180)
  64. CUBA Studio 8.0 发布,企业级应用开发平台(179)
  65. Github 上 Star 最多的个人 Spring Boot 开源学习项目(178)
  66. 张丹峰出轨最新锤来了!毕滢的朋友圈简直刷新下限啊!(177)
  67. 拿着普通员工超300倍的工资裁员800人,这家游戏公司CEO引发员工不满|一周新闻(177)
  68. 币安称 4000 万美元比特币被盗(175)
  69. 使用 C 语言实现一个 HTTP GET 连接(175)
  70. 不要996!程序员创建955.WLB不加班公司名单,GitHub周榜第二(175)
  71. AntD框架的upload组件上传图片时遇到的一些坑(175)
  72. 《跃迁-成为高手的技术》之联机学习(174)
  73. Codejam Qualification Round 2019(174)
  74. Weblogic CVE-2019-2647等相关XXE漏洞分析(173)
  75. python爬虫重定向次数过多问题(172)
  76. simulink创建简单模型(172)
  77. 强大的jQGrid的傻瓜式使用方法。以及一些注意事项,备有相应的引入文件。(170)
  78. [NewLife.XCode]高级查询(168)
  79. Algolia使用教程 , 超详细傻子看都会(166)
  80. Delphi 开发微信公众平台 (二) 用户管理(165)
  81. 核心算法缺位,人工智能发展面临“卡脖子”窘境(165)
  82. 告诉你去越南芽庄必带回的好东西(163)
  83. 只需知道电话号码 即可监控任意一部手机,获取位置,太可怕(163)
  84. 范斯晶对祖母的称呼很意外,范志毅很心疼,缺少母爱的孩子不容易(162)
  85. 如何定位前端线上问题(如何排查前端生产问题)(162)
  86. 百度网盘下载神器 PanDownload v2.0.9(破解版、不限速)(160)
  87. 双双出轨!许志安劈腿马国明港姐女友,二人被拍16分钟激吻超20次(160)
  88. 数学家发现完美的乘法(160)
  89. 定义工作,解读自我——IT帮2019年2月线下活动回顾(160)
  90. 高管被警方带走背后:巧达科技操盘2亿人简历生意(159)
  91. 吹爆惠英红,《铁探》这位霸道总警司超带感!真乃港剧罕见大女主(157)
  92. vue生成图片验证码(156)
  93. 三国正史第一猛将:一人单挑数千人,不是吕布也不是关羽(155)
  94. 从0到1上线一个微信小程序(154)
  95. FreeSql 如何现实 Sqlite 跨库查询(154)
  96. 向佐的弟弟叫向佑,网友:那郭碧婷生的孩子叫什么?(153)
  97. [Node.js] 3、搭建hexo博客(153)
  98. spring-boot-2.0.3不一样系列之源码篇 - pageHelper分页,绝对有值得你看的地方(153)
  99. TensorFlow从1到2(十)带注意力机制的神经网络机器翻译(152)
  100. java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的(152)

  1. 函数优化实战
  2. numpy数组之存取文件
  3. 曾之乔眼眶泛红爆哭! 5万粉虐心看10秒 最后一刻笑了
  4. 自杀式选角
  5. 登陆Linux服务器时触发邮件提醒
  6. 风暴中的华为员工信首次公布:女朋友停止吵架,家人劝不要做逃兵
  7. 莫迪大胜,对中国意味着什么?
  8. 搞假材料欺骗中央,书记区长双双被免
  9. 小白入门AI教程:教你快速搭建大数据平台『Hadoop+Spark』
  10. MySQL 事务
  11. [Inside HotSpot] Serial垃圾回收器 (二) Minor GC
  12. 老婆举报医生老公“收药品回扣”:他出轨并要求离婚 官方已介入调查
  13. 实验吧简单的sql注入3
  14. 死磕 java同步系列之自己动手写一个锁Lock
  15. [NOI2006] 网络收费
  16. 线性基的小证明...
  17. 从语言设计的角度探究Java中hashCode()和equals()的关系
  18. C# 多线程小试牛刀
  19. Python基础:输入与输出(I/O)
  20. link-1-STL 标准模板库
  21. mysql--浅谈多表查询1
  22. 进击JavaScript核心 --- (1)基本数据类型
  23. 大数据技术之_24_电影推荐系统项目_07_工具环境搭建(具体实操)
  24. 前端限制显示的文本字数的几种方法——不换行与换行
  25. 【实验吧】该题不简单——writeup
  26. 反向传播算法
  27. =、==、===、equals()的区别
  28. GitHub 推出开发者赞助项目
  29. 剑指Offer的学习笔记(C#篇)-- 从上往下打印二叉树
  30. argparse 在深度学习中的应用
  31. 张云雷复出?西城区文旅局:德云社在辖区内演出未发现违法违规问题
  32. Maven安装与配置
  33. acWing 825. 排队购物
  34. ajax&&jquery
  35. 苏联攻击机的悲壮行动,明知德军战机拦截,仍在无护航状态下出击
  36. 华为的5G技术,源于这种数学方法
  37. 一站式自动化测试平台 http://www.Autotestplat.com
  38. RabbitMQ总结
  39. 第九组 通信3班 063 自反ACL
  40. 短线还有最后一跌?大V们表示:反弹近了!(5月23日)
  41. 第九组 通信3班 063 OSPFv2与OSPFv3综合实验
  42. C# IE选项 - 重置IE
  43. Spring_数据校验和自定义检验规则
  44. 谈谈Java的string为什么是不可变的
  45. OFFICE 365 A1 Plus账号注册
  46. 初学python—做一个数组的增删改查操作
  47. oc工程中oc、swift混编代码打包成静态framework踩坑笔记
  48. 阿里云推“智能秒停系统”:50秒内短信通知 再不怕吃罚单
  49. 今天购买了一个云服务器
  50. 神奇!乌鸦竟然会传达悲观和怀疑情绪 还会对同伴“冷嘲热讽”
  51. 数字IC设计入门必备——VIM自定义模板调用与VCS基本仿真操作示例
  52. 点击事件的坐标计算(client || offset) +(X || Width || Left) 各种排列组合别绕晕
  53. windows下dubbo-admin2.6.x之后版本的安装
  54. linux 之基本命令学习总结
  55. 传祺难续“传奇”?销量暴跌超4成 加价卖车被“断裂门”尽毁
  56. 香港豪门后宫持续曝光:他用选美比赛“选妃”,与几万女星交往
  57. 小窥React360——用React创建360全景VR体验
  58. Spring Boot 2 快速教程:WebFlux 集成 Mongodb(四)
  59. .Net Core下使用RabbitMQ比较完备的两种方案(虽然代码有点惨淡,不过我会完善)
  60. “80后”女博士已任团中央书记处书记
  61. 杨元庆:现在是联想的最好时刻 我们四大战役全部打了胜仗
  62. Java开发环境的搭建(JDK和Eclipse的安装)
  63. oracle学习笔记(十四) 数据库对象 索引 视图 序列 同义词
  64. 机构风向标:外资出逃超500亿 美的集团等白马股表现欠佳
  65. 跟踪记录ABAP对外部系统的RFC通信
  66. c++11多线程详解(一)
  67. 小蓝杯,跌破发行价了
  68. [NewLife.XCode]百亿级性能
  69. 33岁何洁商场走穴被曝光,路人镜头下的她与精修图差别好大
  70. 途牛第一季度净亏损2240万美元 同比亏损幅度扩大
  71. 00 | Two Sum
  72. 智能威胁分析之图数据构建
  73. 快速掌握RabbitMQ(二)——四种Exchange介绍及代码演示
  74. Neo4j 第六篇:Cypher语法
  75. Java微信公众平台开发(三)--接收消息的分类及实体的创建
  76. Java8 中的 Optional
  77. 如何显示超大图像(3)
  78. 贵州检察机关依法对袁仁国决定逮捕
  79. 有关xerospolit运行报错问题的有效解决方案
  80. ADO学途 one day
  81. Linux 中 ip netns 命令
  82. Python爬虫之设置selenium webdriver等待
  83. BSOJ1040 -- 【练习题目】美元DOLLARS
  84. 外媒:稀土是中国手中的一张王牌
  85. sql server添加sa用户和密码
  86. 深入理解JVM的类加载
  87. querySelector和getElementById之间的区别
  88. 简说设计模式——观察者模式
  89. 扰动函数和拉链法模拟HashMap的存储结构
  90. 东芝中国:“上海东芝公司”不存在 未停止与华为的合作
  91. 彭于晏马思纯主演张爱玲这部小说,却被说更适合演《骆驼祥子》?
  92. 停止向华为供货?东芝辟谣回应
  93. 云米第一季度净利润5310万元 同比增长68%
  94. 贪吃的古蛙,古生物学家发现亿年前两栖动物之间战争
  95. APICloud发布低代码开发平台 效率提升30%至60%
  96. Golang 读写锁RWMutex 互斥锁Mutex 源码详解
  97. shell初级-----数据呈现方式
  98. 白玉兰入围名单公布!《知否》《都挺好》上榜,还有这部豆瓣3分剧
  99. 深网 | 京东618接入快手、抖音 实现“即看即买”
  100. 解决 APP启动白屏黑屏问题