私はJavaScriptのdelete演算子と少し混乱しています。次のコードを見てください。
var obj = {
    helloText: "Hello World!"
};
var foo = obj;
delete obj;
このコードが実行された後、objisですがnull、fooそれでもとまったく同じようにオブジェクトを参照しますobj。このオブジェクトは、foo指し示したオブジェクトと同じだと思います。
これは私を混乱させます。なぜなら、書き込みdelete objでobjは、変数だけでなく、メモリ内を指しているオブジェクトも削除されると思っていたからですobj。
JavaScriptののガベージコレクタは、私がオブジェクトを指し、他の変数を持っていなかった場合は、それがそうすることを、保持/解放的に取り組んでいるためですでしょうメモリから削除されますか?
(ちなみに、私のテストはSafari 4で行われました。)
var obj = {     helloText: "Hello World!" }; var foo = obj; delete obj;チェックオブジェクトが削除されていませんobj:削除、使用delete obj.helloTextして、チェックfoo now foo is an empty object
                deleteはJavaScriptでオブジェクトを削除するためのものではありません。deleteオブジェクトキーを削除するために使用されます。この場合var obj = { helloText: "Hello World!" }; var foo = obj; delete obj;、オブジェクトは削除されません。チェックしてくださいobj。次に実行するdelete obj.helloTextとfoo、空をポイントしていることがわかりますオブジェクト "" "