js 不能控制内存的释放,delete、CollectGarbage()都不行

来源:互联网 发布:成为淘宝达人怎么赚钱 编辑:程序博客网 时间:2024/04/19 12:11

一直很疑惑,delete到底能不能用来释放内存?今天看到如下一段代码,执行后发现脚本脚本执行很慢(后发现原来是alert搞的鬼)

function test()

{

var str = "1"

for (var i = 0; i<25; i++)

{

str += str;

}

alert(str);

delete str;

}

关键是delete删除变量之外并没有看出释放内存的迹象(在页面执行到关闭前,内存使用量都比较稳定,页面关闭后才猛地释放大量内存),这验证了"delete从对象中删除一个属性,或从数组中删除一个元素。"(script56) 后google出一个javascript的未公开函数CollectGarbage() (According to MSDN, CollectGarbage is an undocumented function of the language and it is used for testing only. However this is the only way to force the garbage collection in Javascript, setting a variable to null or deleting it will not destroy the resource until the browser engine is destroyed. ) 效果仍不明显.
原创粉丝点击