前端性能优化的方法

前端性能的优化可从网络请求过程、浏览器渲染过程、用户操作过程三个方面来考虑:


1. 网络请求过程的优化

1.1 减少http请求次数

多个资源(图片、js脚本)合并为1个;

使用缓存;

图片懒加载

1.2 减少http请求的数据量

代码(js、css)压缩(uglify);

图片压缩、使用合适的格式;

按需加载;

1.3 CDN

CDN内容分发网络用于为用户提供物理上更近和更低延迟的资源

1.4 减少重定向


2. 浏览器渲染过程

2.1 CSS加载优化

样式表放顶部

避免@import:url()的方式,加载速度慢

2.2 CSS代码优化

font、margin、padding、border、background等使用简写;

减少无效属性,比如设置display:inline后就不要设置width、margin等属性;

避免使用复杂的选择器,层级越少越好;

利用继承,减少代码量;

2.3 JS加载优化

脚本放底部

异步加载;Ajax、<script>标签的async属性(开启另一个线程下载这个脚本,一旦下载完成就会执行);

懒加载: <script>标签的defer属性;

2.4 JS代码优化

避免频繁的DOM操作:

innerHTML代替DOM操作;

批量增加删除节点时,使用documentFragment或将元素的display样式设为none;

需要设置很多样式时:设置className而非直接操作style或先克隆节点,在克隆节点上操作后再替换原来的节点;

使用局部变量缓存动态更新的值,如DOM节点查询的结果(HTML Collection)的length、元素的offsetWidth等属性;

事件委托

避免eval

4. 用户操作的角度

web worker开启另一个线程,防止浏览器出现“假死”,提升用户体验。

Ajax异步请求,不用刷新页面;

  预加载;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值