js性能优化

12 篇文章 0 订阅
2 篇文章 0 订阅

1、数据存储的位置会对代码性能产生影响,为避免性能问题,应注意以下几点:

1) 变量在作用域中的位置越深,访问时长越长,如若多次调用深层次的变量,可以将该变量赋值给局部变量;
2)嵌套的对象成员会影响性能,嵌套层次越深对性能影响越大,尽量少用。

2、减少重绘和重排

当对元素频繁操作时:先让元素脱离文档,再执行频繁的dom操作,再把元素插入文档中。

容易被忽略的触发重排的js方法:
offsetTop、offsetLeft、offsetWidth、offsetHeight、scrollTop、scrollLeft、scrollWidth、scrollHeight、clientTop、clientLeft、clientWidth、clientHeight、getComputedStyle()、currentStyle等。

PS:因每次重排都会产生计算消耗,大多数浏览器通过队列化修改并批量执行来优化重排过程。获取布局信息的操作需要拿到最新的布局信息,因此浏览器需要强制刷新队列并立即执行任务,触发重排以返回正确的值。

3、减少DOM操作

1)减少DOM操作,如需多次访问同一个DOM节点,请使用变量存储它的引用。
2)使用事件委派来减少事件处理器的数量。
3)动画使用绝对定位,使DOM节点脱离文档流,减少重绘和重排

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值