1、js优化

js优化的总体原则:当需要时才优化;考虑可维护性

提升js文件加载性能:加载元素的顺序,css文件放在<head>里,js文件放在<body>里

js变量和函数优化:

  1)尽量使用id选择器

  2)尽量避免使用eval,太耗性能

  3)js函数尽可能保持简洁

  4)使用事件节流函数,比如100ms执行1次,用户无感知,但性能有提升

  5)使用事件委托

js动画优化:

  1)避免添加大量js动画

  2)尽量使用css3动画、canvas动画

  3)合理使用requestAnimationFrame动画代替setTimeout、setinterval

合理使用缓存:

  1)合理缓存DOM对象

  2)缓存列表长度

cookie:应用于会话管理、个性化、跟踪(比如埋点)

sessionStorage:应用于页面之间的传值

IndexedDB:客户端存储大量结构化数据、没有网络连接的情况下使用、将冗余并很少修改但经常访问的数据以避免随时从服务器获取数据

LocalStorage:本地存储。应用于缓存静态文件内容js/css、缓存不常变更的api接口数据、储存地理位置信息、浏览在页面的具体位置

      更新策略:每次更新完后给key加一个值,本地就可以取最新值

 

JS模块化加载方案和选型

  commonJs、AMD规范、CMD规范、ES6 import