javascript中对象的销毁


 ECMAScript有无用存储单元收集程序,意味着不必专门销毁对象来释放内存。 当再没有对对象的引用时,该对象就被废除了。   运行无用存储单元收集程序时,所有废除的对象都会被销毁。每当函数执行完它的代码,无用存储单元收集程序都会运行,释放所有的局部变量,还有在一些其它不 可预知的情况下,无用存储单元收集程序也会运行。 
  把对象的所有引用都设置为null,可以强制性的废除对象。例如: 

   Var oObject=new Object();

  // 程序逻辑

  oObject=null;

  当变量oObject设置为null后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。
   每用完一个对象后,就将其废除,来释放内存,这是个好习惯。这样还确保不再使用已经不能访问的对象,从而防止程序设计错误的出现。此外,旧的浏览器(如 IE)没有完全的无用存储单元收集程序,所以卸载页面时,对象可能不能被正确地销毁。以前IE6就有这样的诟病,当页面被关闭后对象还是没有被释放,所以 总是会导致内存溢出的错误。废除对象和它所有的特性是确保内存正确使用的最好方法。


例子:
var stage;
function xxx() 
{
    stage = new createjs.Stage("MainCanvas");
    var textContainer = new createjs.Container();     // 创建textContainer 对象
    stage.addChild(textContainer); // textContainer 被添加到stage中,即被stage引用
}

//  在xxx函数外,textContainer 生命周期结束了,但是因为 new createjs.Container() 创建的对象仍然被stage引用着,所以不会被销毁
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值