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) 新品価格 |