他のデータの中に配列を含む Javascript のオブジェクトを適切に破棄する方法を知りたいです。
例 (これはオブジェクトの初期状態です):
acme.models.nomination = {
recipients : [], // array will be added to later.
awardType: {}, // this object will be filled out later.
privacy: 'private',
...
};
アプリケーションが使用されると、nomination.recipients オブジェクトが他のデータ要素とともに追加されます。終了時に完全なオブジェクトをクリアするには、次のことを行うだけで十分ですか:
acme.models.nomination = {};
または、これは優れています(またはやり過ぎです):
acme.models.nomination.privacy = undefined;
acme.models.nomination.awardType = {};
acme.models.nomination.recipients = {};
acme.models.nomination = {};
前のステートメント (ie acme.models.nomination = {}
) で十分だと考えています。これにより、コンテンツ全体が実質的に到達不能になり、ガベージ コレクションの対象となります。ただし、これについて他の人の意見を求めたいと思います。ところで、答えは最新のブラウザー コンテキストで与えることができます。2012 年 1 月以降のブラウザーとしましょう。過去のメモリ管理には少し一貫性がなかったことがわかっています。