我正在寻找JavaScript中内存泄漏的一些非常基本的例子以及如何解决它们。具体来说,如果我在我的代码中做了类似的事情;
var obj = new MyObj();
我是否必须明确处理某些事情或做一些步骤以使obj不泄漏?或者我不必担心什么?是否会被浏览器自动收集垃圾?
在内存处理方式(w.r.t. DOM或任何其他对象)方面是否存在跨浏览器差异?
答案 0 :(得分:0)
我猜您可以在此页Javascript Memory Management
中找到答案答案 1 :(得分:0)
简短摘要:当对象没有更多引用时,对象将被浏览器自动收集。
这样做
var obj = {};
obj = null;
将导致obj
在将来的同一个随机点被垃圾收集,你无法明确地告诉浏览器垃圾收集这个对象。当然,这是你通常不会做的事情,因为对象引用通常超出范围。
示例:
function foo() {
var obj = {};
}
foo();
在此函数调用之后,obj
变量不再存在并且超出范围,obj
引用的对象现在是垃圾收集的候选者。 / p>