如何在javascript中销毁对象?

时间:2012-07-02 11:39:47

标签: javascript arrays object garbage-collection destroy

我想知道如何正确销毁包含其他数据中的数组的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 = {};

我认为前一个语句(即acme.models.nomination = {})就足够了,因为这有效地使整个内容无法访问,因此有资格进行垃圾回收。但是,我想就此提出其他人的意见。顺便说一句,答案可以在现代浏览器环境中给出,比如2012年1月之后的浏览器,因为我知道内存管理在过去有点不一致。

1 个答案:

答案 0 :(得分:2)

我认为delete - 运营商正是您所寻找的:

delete acme.models.nomination;