首页 > 其他 > 详细

前端学习之-----性能优化

时间:2021-05-08 23:29:53      阅读:27      评论:0      收藏:0      [点我收藏+]

性能优化原则:-----------空间换时间

多使用内存、缓存

减少CPU计算量

减少网络加载耗时

前端具体要怎么做

1、页面加载更快

(1)减小资源体积:压缩代码

(2)减少访问次数:合并代码(js文件互相引用的那种,合并为一个文件,就只访问一次,减少了访问次数;CSS代码也能合并;图片也能合并“雪碧图”) 

(3)加快访问速度:使用CDN(jQuery、各种插件不用下载到本地,直接引用CDN地址会更快)

注意:一个<script></script>就是一个网络请求了

2、页面渲染更快

(1)CSS放在head,JS放在body最下面(样式预备好,JS等渲染完再加载)

(2)尽早开始执行JS,用DOMContentLoaded触发(不需要等到图片加载完再执行JS)

技术分享图片

(3)懒加载:就是优先加载可视区域的内容,其他部分等进入了可视区域再加载

原因:

全部加载的话会影响用户体验

浪费用户的流量,有些用户并不想全部看完,全部加载会耗费大量流量

 

网页中占用资源较多的一般是图片,所以我们一般实施懒加载都是对图片资源而言的,可参考这篇文章

 

还有一种用法:先给一个本地的预览图,等页面渲染完再把真正的图片地址赋值!

技术分享图片

(4)不要频繁DOM操作,合并到一起再一次插入DOM结构(比如动态生成一些元素的情况下~)

(5)节流throttle(让渲染更加流畅)

技术分享图片

 技术分享图片

和防抖不同的是:拖拽事件一直有,所以必须有timer的时候就不管,100ms之后timer为null,才触发一次事件

(6)防抖debounce(让渲染更加流畅)

需要防抖的情况:

input输入框:输入文字触发某个事件,如果每输入一个字就触发,会过于频繁(防抖:用户输入完毕或暂停再触发)

技术分享图片

这个就实现了:输入一个字停留500ms才会触发change事件,如果连续输入则定时器会被清空,则不会触发change事件

 

前端学习之-----性能优化

原文:https://www.cnblogs.com/zhaoyingzhen/p/14746070.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!