参考链接:http://www.ibm.com/developerworks/cn/web/wa-jsmemory/
1.闭包
如果闭包里有setInterval或者其它的方法引用了闭包内部的变量,那闭包所在对象不会被释放。
2.控制台日志
console.log在控制台的时候,对象不会被释放。(即使设置为null,仍然存在内存中)
3.循环
在两个对象彼此引用且彼此保留时,就会产生一个循环,如果这时候有第三方对象引用了他们其中的一个,那另一个也不会被释放。
Chrome 的 Heap Profiler 是一个诊断内存问题的宝贵工具,在开发时定期使用它也是一个不错的选择。
在创建对象时要计划该对象的清理工作,这比在以后将一个清理阶段移植到应用程序中要容易得多。常常要计划删除事件侦听器,并停止您创建的间隔。如果认识到了您应用程序中的内存使用,您将得到更可靠且性能更高的应用程序。