【发布时间】:2011-11-14 18:56:48
【问题描述】:
我有一个简单的循环来创建和销毁(希望是)空对象: http://jsfiddle.net/TgWze/
function Test()
{
}
function generate()
{
for(var i = 0; 1000 > i; ++i)
{
var view = new Test();
delete view;
}
}
如果我继续单击链接,Chrome/Safari 中的内存配置文件会显示类似内存泄漏的行为: http://cl.ly/BnCV
我错过了什么吗?
【问题讨论】:
-
除了可能的内存泄漏之外,“删除”是多余的,因为无论如何在一个循环之后引用将超出范围。
-
你实际上不能像那样使用
delete;它仅用于删除对象中的属性。 -
@Dykam:错了。 Javascript 没有块作用域。
-
我已经更正了(最近 perl 太多了),我的意思是说旧的视图变量将在下一个循环中通过重新定义超出范围。
-
谁会一直让那些坚持手动内存管理思维的开发人员使用 GC 语言进行编程?
标签: javascript memory loops memory-leaks