XMLHttpRequestオブジェクトを解放する方法と、ActiveXObject( "Microsoft.XMLHTTP")オブジェクトを解放する方法はありますか?XMLHttpRequestオブジェクトを解放する方法と、ActiveXObject( "Microsoft.XMLHTTP")オブジェクトを解放する方法はありますか?
null
への参照を設定するGrae
XMLHttpRequestオブジェクトを解放する方法と、ActiveXObject( "Microsoft.XMLHTTP")オブジェクトを解放する方法はありますか?XMLHttpRequestオブジェクトを解放する方法と、ActiveXObject( "Microsoft.XMLHTTP")オブジェクトを解放する方法はありますか?
null
への参照を設定するGrae
がメモリを解放する必要があります。
JavaScriptはgarbage collectionですは明示的にオブジェクトを解放する必要があります。 はですdelete variableThatHoldTheObject
またはvariableThatHoldTheObject = null
を使用できますが、オブジェクトの参照カウントは1
だけ減少します。
オブジェクトへの他の参照がまだあるかもしれません。一言で言えば、これをGCに任せておけば、あなたはそれを強制することができないからです。あなたは
delete
コメントに関する
は、変数を削除するので、それが指したオブジェクトへの参照します。その参照カウントがある場合、まだオブジェクトを指すbar
どこかでそう0になるまで
var foo = 4;
foo; // 4
foo = null;
foo; // null
delete foo;
foo; // ReferenceError
それでも、唯一の1ずつ参照カウントを減少させることをGCがオブジェクトを収集することはありません、それはしません収集されます。
削除とオブジェクトをnullに設定する違いは何ですか? –
'null'に設定すると、変数の値をnullに設定するだけで、' delete'は変数自体を削除します。私は小さな例で私の答えを更新します。 –
私は自分の目的のために変数をnullに設定する方が良いと思います。これが最速の最善の解決策です。 –
削除についてはどうですか? –
@Grae - それもうまくいくはずです。 – Oded
削除が余分な作業をするので、nullが最も効果的だと思います。私は、オブジェクトが必要に応じて削除されるようにしたい。 –