我从来没有太关注垃圾回收问题,也不知道在制作小型JavaScript游戏/应用时是否需要考虑这个问题。任何建议都将不胜感激,但我最后还有一个具体问题需要问。
我经常编写以下形式的代码:
var foos=new Array();
generateFoos();
function generateFoos()
{
foos=[];
for (fooIndex=0;fooIndex<numberOfFoos;fooIndex++)
{
foos[fooIndex]=new foo(Math.random(),Math.random());
}
}
function foo(bar,bas)
{
this.bar=bar;
this.bas=bas;
}
当我执行
foos=[]
(第5行)时,这会删除数组中的对象吗?还是它们会浮动在某个地方,使程序变得更大和更慢?如果我想要多次调用generateFoos()
,例如每次用户按下一个键时调用该函数,应该怎么做呢?谢谢!
delete
而不是仅清空数组? - Nick Manning