如何使用jQuery / Javascript从内存中删除对象?

时间:2013-05-20 05:32:06

标签: javascript jquery

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

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

我想删除此对象。我怎么能这样做?

3 个答案:

答案 0 :(得分:9)

设置customer = null将使垃圾回收器启用,因为没有对该对象的其他有效引用。

答案 1 :(得分:4)

delete customer;

请参阅delete

delete运算符从对象中删除属性。由于customer是全局对象的属性,而不是变量,因此可以将其删除

注意:customer应该是全局的

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

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

示例Fiddle

答案 2 :(得分:0)

递归破坏对象,如下所示。使用chrome堆快照测试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;
        }
    }
}