防抖和节流(部分知识点)

防抖和节流

绑定一些事件,如resize鼠标移动等,持续触发,有时候不希望时间持续触发的过程中频繁去执行函数,如监听后执行的是DOM操作,这样频繁的去触发执行,可能会影响到浏览器的性能,甚至会导致浏览器卡顿

为什么频繁的操作DOM会影响浏览器的性能,甚至导致浏览器卡顿,

频繁的操作DOM会影响性能

DOM的操作的实现和ECMAScript的实现

IE里,ECMAScript的实现是在JScript.dll动态链接库中实现,DOM的实现是在mshtml.dll中,

DOM的操作最主要的原因:它会导致浏览器的重绘和重排

重排一定会引起重绘,重绘不一定重排

页面初始化,浏览器窗口改变尺寸,元素改变位置,尺寸,内容,添加删除课件DOM元素都会导致重排,重排有些时候没法避免

优化方法,

  1. 将DOM操作积累起来进行批量操作

虚拟DOM会减少耗损

  1. 将DOM操作合并

  2. 文档碎片

  3. 防抖和节流

防抖:在一个动作发生的一定时间之后,才会执行特定的事件,一个需要频繁触发的函数,在规定的时间内,只让最后一次触发生效

节流:setTimeout,var _chat = this,throttle,一个函数执行一次后只有大于设定的执行周期后才会执行第二次,在一定的时间内限制一个动作只执行一次,定时器不清除会导致内存泄漏,内存泄漏堆积会导致内存溢出,浏览器崩掉或卡死

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值