4

我正在创建一个应用程序,其中有一个用于创建客户的页面。为此,我编写了以下代码。

customer=new MobileApp.CustomerViewModel(); //for creating new customer

我想删除这个对象。我该怎么做?

4

3 回答 3

15

假设没有对该对象的其他有效引用,设置customer = null将使垃圾收集器启用此功能。

于 2013-05-20T05:34:14.973 回答
3
delete customer;

查看关于删除

delete运算符从对象中删除属性。ascustomer是全局对象的属性,不是变量,所以可以删除

注意:customer应该是全局的

customer=new MobileApp.CustomerViewModel();
delete customer; // Valid one

var customer1=new MobileApp.CustomerViewModel();
delete customer1; // Not a valid one

样品小提琴

于 2013-05-20T05:35:48.910 回答
2

递归销毁对象,如下所示。用 chrome heap 快照测试了 javascript 对象在内存中被清除

function destroy(obj) {
    for(var prop in obj){
        var property = obj[prop];
        if(property != null && typeof(property) == 'object') {
            destroy(property);
        }
        else {
            obj[prop] = null;
        }
    }
}
于 2016-07-06T08:46:55.567 回答