我在我的Web应用程序中使用通用接口,我有javascript类和方法来为我的类创建对象。我想在不使用对象时清除内存。 我的问题是如何清除对象的记忆。
我试过'obj = null;'并'删除obj;'。两者都没有按预期工作。
是否可以在JavaScript或通用界面中清除对象和对象内存。
-Sridhar
答案 0 :(得分:1)
尝试设置为null
。
var a = new className();
alert(a);
a = null;
alert(a);
答案 1 :(得分:1)
Self-invoking functions are functions who execute immediately, and create their own closure. Take a look at this:
(function () {
var dog = "German Shepherd";
alert(dog);
})();
alert(dog); // Returns undefined
so the dog variable was only available within that context
编辑
如果内存泄漏与DOM有关,here写了如何管理它。所以,我试着解决这个问题:
var obj = {};//your big js object
//do something with it
function clear() {
var that = this;
for (var i in that) {
clear.call(that[i]);
that[i] = null;
}
}
clear.call(obj);//clear it's all properties
obj = null;
答案 2 :(得分:0)
你做不到。只要每个引用都被删除(例如,设置为null
,就像许多人建议的那样),完全取决于GC何时运行以及何时收集它们。