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

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

javaScript中的函数大多数情况下都是由用户主动调用触发的,除非是函数本身的实现不合理,否则我们一般不会遇到跟性能有关的问题。但是在一些少数的情况下,函数的触发不是由用户直接控制的。在这些场景下,函数由可能被频繁调用,造成大的性能问题。

1、函数被频繁调用的场景

(1)window.onresize事件。我们给window对象绑定了resize事件,当浏览器窗口大小改变的时候,事件调用频率非常高,并且在window.onresize事件有和DOM相关的操作,会造成页面卡顿。 (2)mousemove事件。如果我们给一个div节点绑定了拖拽事件,也会频繁的触发拖拽事件。

2、函数节流的原理

上面提到的两种场景都是函数被频繁的调用。 函数节流的实现原理就是在一定的时间段内忽略一些事件的请求,比如设置在500ms内只调用一次。很显然,setTimeout可以很完美的协助我们完善这个事情。

3、函数节流代码实现

    函数节流复制代码

转载于:https://juejin.im/post/5c34c8baf265da613c09fba2

你可能感兴趣的文章
使用SolrNet访问Solr-5.5.0
查看>>
Kafka(分布式发布-订阅消息系统)工作流程说明
查看>>
nginx upstream的五种分配方式
查看>>
net.reflector8.5.0.179过了试用期,要求输入序列号怎么办 注册机 破解
查看>>
【SSH异常】InvalidDataAccessApiUsageException异常
查看>>
013 集合
查看>>
逻辑回归原理介绍及Matlab实现
查看>>
git相关知识:如何避免某些文件无需提交
查看>>
Java中Comparable和Comparator区别小结
查看>>
派发机制、动态绑定、静态绑定
查看>>
单节点k8s的一个小例子 webapp+mysql
查看>>
基于tiny4412的Linux内核移植 -- 设备树的展开【转】
查看>>
[转]How to Send Ethereum with Web3.js and Node
查看>>
Java高级个人笔记(RandomStringUtils工具类)
查看>>
FakeUserAgentError('Maximum amount of retries reached') 彻底解决办法
查看>>
[Web 前端] 我不再使用React.setState的3个原因
查看>>
Java队列Queue
查看>>
从软件到片源!PC播放HDTV上手全攻略
查看>>
PowerShell入门(四):如何高效地使用交互式运行环境?
查看>>
linux mount
查看>>