我正在创建一个应用程序,其中有一个用于创建客户的页面。因为我写了以下代码。
customer=new MobileApp.CustomerViewModel(); //for creating new customer
我想删除此对象。我怎么能这样做?
答案 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;
}
}
}