JavaScript内存的释放和监测
<script language= "javascript " type= "text/javascript ">
function test01(id)
{
this.id = id;
}
test01.prototype =
{
getId : function()
{
return this.id;
}
}
var t = new test01(00);
alert(t.getId());
t = null;
delete t;
</script>
1、上面的代码中,在没有创建t这个对象实例前,test01是否会占用内存,创建实例并使用完成后,如果释放?是t = null;还是delete t;?
2、能不能使用某条语句或某个软件,监测当前页面的内存变化情况,任务管理器提供的信息不方便查看。
3、本程序中,this是指什么?是指整个页面中的id变量还是test01中的id属性?
------解决方案--------------------1.一般用t=null,浏览器有自动回收内存的东西
2.havanoidea
3.this指这个函数test01,同时它也是一个对象Function的实例
------解决方案--------------------IE下 内存仍然被占用
你可以这样
for(var o in t)delete t[o];
t = null;
下一次再用到t变量时或刷新页面时内存会重新分配
当然显示使用CollectGarbage()也可以消除内存
------解决方案--------------------学习!
------解决方案--------------------学习
------解决方案--------------------mark
------解决方案--------------------最担心就是退出页面后内存还占着。js的内存是最难搞的了。
------解决方案--------------------mark
------解决方案--------------------2、能不能使用某条语句或某个软件,监测当前页面的内存变化情况,任务管理器提供的信息不方便查看。
===========================
用firebug 中的调试可以。 它主要用在firefox下,但也有 IE的版本
------解决方案--------------------可以搜索一下 浏览器内存泄漏检测
有相应工具的...