一、性能优化:
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.循环(在两个对象彼此引用且彼此保留时,就会产生一个循环)。