性能优化:
1.减少HTTP请求次数:CSS Sprites,js、CSS源码压缩、图片大小控制合适;网页Gzip、CDN托管、data缓存、图片服务器
2.前端模板JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数。
3.用innerHTML替代DOM操作,减少DOM操作次数,优化JavaScript性能。
4.当需要设置的样式很多时,设置className而不是直接操作Style
5.少用全局变量、缓存DOM节点查找的结果。减少IO读取
6.避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性)
7.图片预加载,将样式表放在顶部,将脚本放在底部,加上时间戳。
8.防止内存泄漏:内存泄漏指任何对象在不再拥有或需要它之后仍然继续存在。垃圾回收器定期扫描对象,并计算引用了每个对象的其他的数量。如果一个对象的引用数量为0(没有其他对象引用过该对象),或对该对象的唯一引用是循环的,那么该对象的内存即可回收。
会泄漏内存的情况:
1.闭包
2. SetTimeOut的第一个参数使用字符串而非函数的话,会引发内存泄漏
3.控制台日志
4. 循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)