在javascript中清除对象内存

时间:2012-05-18 07:57:22

标签: javascript tibco-gi

我在我的Web应用程序中使用通用接口,我有javascript类和方法来为我的类创建对象。我想在不使用对象时清除内存。 我的问题是如何清除对象的记忆。

我试过'obj = null;'并'删除obj;'。两者都没有按预期工作。

是否可以在JavaScript或通用界面中清除对象和对象内存。

-Sridhar

3 个答案:

答案 0 :(得分:1)

尝试设置为null

var a = new className();
alert(a);

a = null;
alert(a);

答案 1 :(得分:1)

您可以使用Self-Invoking Functions

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何时运行以及何时收集它们。