私はJSのコードを書いています。 大きなオブジェクトを取り除くと、JSのメモリがどのように動作するのかを知る必要があります。JavaScriptメモリからの変数をクリア
var a = new Object();
a.b = new Object();
a.b.c = new Object();
a.b.c.d = new Object();
a.b = undefined; // Is it delete a.b.c and a.b.c.d or not?
私はJSのコードを書いています。 大きなオブジェクトを取り除くと、JSのメモリがどのように動作するのかを知る必要があります。JavaScriptメモリからの変数をクリア
var a = new Object();
a.b = new Object();
a.b.c = new Object();
a.b.c.d = new Object();
a.b = undefined; // Is it delete a.b.c and a.b.c.d or not?
オブジェクトへのポインタがない場合、ガベージコレクションされます。 a.b.c
へのポインタがa.b
にあるため、a.b.c
はガベージコレクトされます。 a.b.c.d
と同じ状況です。
JavaScriptは自動的にガベージコレクションされます。ガベージコレクタが実行を決定し、そのオブジェクトがそれに適格である場合にのみ、オブジェクトのメモリは再利用されます。
オブジェクトを削除するか、オブジェクトを無効にするか(a.b = undefined;)は、メモリを直接解放することとは関係ありません(間接的に参照を破棄するだけです)。詳細については、memory managementページを参照してください)。
[JavaScriptガベージコレクションとは何ですか?](http://stackoverflow.com/questions/864516/what-is-javascript-garbage-collection) – Xufox
ありがとうございました。 – askeet