一.提升js文件加载性能
- 加载元素顺序css文件放在M里,js文件放在里
二.js变量和函数优化
- 尽量使用id选择器
- 尽量避免使用eval
- Js函数尽量保持整洁
- 使用事件委托减少事件绑定
- 使用事件的节流或防抖进行优化
三.js动画优化
- 尽量避免大量js动画
- 尽量使用css3动画
- 尽量使用canvas动画
- 合理使用requestAnimationFrame 动画替代setTimeout,setInterval requestAnimationFrame可以在正确的时间进行渲染,setTimeout,setInterval无法保证回调函数的执行时机(由于事件的eventloop)
四.合理使用缓存
- 合理缓存DOM对象
- 缓存列表长度
- 使用可缓存的ajax
- 利用cookie会话管理,用户的选项,主题或其他设置,记录埋点等
- sessionStorage应用与页面直接传值
- LocalStorage 缓存静态文件内容js/css, 缓存不长变更的api接口数据,存储地理位置信息, 浏览在页面的具体位置