2011-12-05 17 views
2

ArrayArrayの項目を削除するには、deleteというキーワードを使用することができます。ただし、deleteは変数を削除しません。プロパティを「削除する」正しい方法ですか?

var b = "some stuff"; 
delete b; 
console.log(b); // "some stuff" 

bで使用されているメモリを「解放」する正しい方法はありますか?ちょうどb = null;をやってやっているのですか?

+1

あなたが知らない場合:関数スコープで 'b'が宣言されていれば、それをまったく心配する必要はありません。実行が関数スコープを終了すると、他の参照がない場合は、期待どおりに自由に機能します。 –

+1

@ JamesClarkしかし、 'b'が大量のデータをロードしている場合には、別のデータをロードする前に解放する必要があります – puk

答えて

1

Javascriptでは、自分で実際にメモリを解放することはできません。オブジェクトが使用するメモリへの参照をすべて削除するだけです.JSエンジンのガベージコレクタはそれを回復します。変数/プロパティをnullに設定するとよいでしょう。

「削除」の使用に関しては、http://perfectionkills.com/understanding-delete/よりも理解しやすいリソースが見つかりませんでした。

関連する問題