0

splice メソッドを使用して JavaScript の配列からアイテムを削除すると、削除されたアイテムの配列が返されます。

var a = [{name:'object1'},{name:'object2'},{name:'object3'}];

// a.splice(0,2) -> [{name:'object1'},{name:'object2'}]
// Where do these guys live now? Are they really gone?

返されたオブジェクトがメモリから確実に取り出されるようにするために、これらの返されたオブジェクトに対して「削除」を呼び出す必要がありますか? ガベージコレクタはこれを処理しますか? 私はそれを信頼できますか?

4

1 に答える 1

1

オブジェクトは(あなたの観点からは)「なくなり」、GCは適切と判断したときに実際にメモリを解放します。JavaScript では、ガベージ コレクションを明示的に制御することはできません。

パフォーマンスが気になる場合は、一般的に (もちろんプロファイリングに) 正確にいつ GC が実行されるかを心配するよりも、割り当ての保存に集中する方がよいでしょう。その動作は使用している JS エンジンに応じて変化するためです。 .

于 2013-09-04T23:36:32.893 に答える