我從來沒有真正考慮垃圾收集,我不知道在製作小型JavaScript遊戲/應用程序時是否需要考慮垃圾收集。任何建議表示讚賞,但最後我會問我的具體問題。當我清除數組時,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()
loooot的時間,就像每次用戶按下一個鍵。
謝謝!
的Foo []在函數的範圍僅存在 - 所以,如果函數代碼結束FOOS被刪除。 – Bernhard
@Bernhard不,foos是在第一行中聲明的。 –
改爲使用'delete'。 – Amareswar