Javascriptでのオブジェクト配列破棄

最近、遊びでアプリ開発やWebシステム作るときによくJavascriptを使ってます。
今まで意識してなかったけど、SPA(Single Page Application)とかで作るとメモリリークっぽいことにも気をつけなきゃいけないですよね。

よくやるのが、オブジェクト配列の保持。
破棄できるタイミングで正しく破棄しましょ。

var array = [];
var i = 0;

// 配列生成
for (i = 0; i < 10; i++) {
    var hoge = new Hoge();
    array.push(hoge);
    delete hoge;
}

・・・なんか配列を使った処理

// 配列の破棄
array.splice(0, array.length);

『delete [配列要素]』だと、配列要素自体は破棄されるけど、配列としては空要素を保持したままになります。
for文中の『delete hoge』は必要かどうか、ちゃんと理解できてません。。。


JavaScript逆引きレシピ jQuery対応 (PROGRAMMER’S RECiPE)

新品価格
¥3,240から
(2015/4/13 19:44時点)