4

我想知道如何正确销毁 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 月后的浏览器,因为我知道过去的内存管理有点不一致。

4

1 回答 1

2

我认为delete -Operator 是您正在寻找的:

delete acme.models.nomination;
于 2012-07-02T11:45:50.470 回答