js性能优化
一、图片优化
- 不用图片,使用字体图标来代替,使用css代替
- 小图片使用base64
- 雪碧图
- 使用正确的图片格式,对于能够显示webg格式的浏览器,尽量使用webg格式。
二、使用CDN
CDN的优点:
- 分发服务器:主要作用是缓存,负责响应用户的请求,将缓存的内容直接提供给用户。
- 负载均衡服务:动态决定新请求访问进哪一台(压力小的那台)。
- 地理位置:他在很多地方都有服务器,会影响地理位置离请求较近的服务响应。
三、懒加载
按需加载,比如动态路由或者图片资源代理,大资源我就有一个小图标代替,但我不加载,需要使用的时候才加载。
延迟不需要的首屏加载,使用async和defer属性等方法。
四、减少DOM操作
- 减少dom访问,比如事件绑定,尽量使用事件委托。
- documentFragement
- 使用requestAnimationFrame来替代setTimeout和setInterval
五、减少服务器请求
- 防抖节流
六、使用 web workers 处理需要大量执行时间的代码
web workers 的几个使用场景
- 预取数据 — 优化网站的加载时间,可用 web workers 来提前加载数据。
- 轮询工作