1

WebアプリケーションでGeneralInterfaceを使用しており、クラスのオブジェクトを作成するためのjavascriptクラスとメソッドがあります。オブジェクトを使用しないときにメモリをクリアしたいのですが。私の質問は、どうすればオブジェクトのメモリをクリアできるかということです。

'obj=null;'で試しました および'deleteobj;'。どちらも期待どおりに機能していません。

JavaScriptまたはGeneralInterfaceでオブジェクトとオブジェクトメモリをクリアする方法はありますか?

-スリダール

4

3 に答える 3

1

に設定してみてくださいnull

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

a = null;
alert(a);
于 2012-05-18T08:03:38.887 に答える
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に関連している場合、ここにそれを管理する方法が書かれています。だから、私はそのように解決しようとしました:

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;
于 2012-05-18T08:17:48.880 に答える
0

できません。すべての参照が実際に削除されている限り (たとえばnull、多くの人が提案するように設定するなど)、いつ実行し、いつそれらを収集するかは完全に GC 次第です。

于 2012-05-21T10:26:37.237 に答える