2011-12-18 13 views
2

私はしばらくの間、javascriptモジュールパターンを使用してきました。javascriptモジュールパターンを使用するのは安全ですか?

私は、私の同僚の1人にモジュールパターンの例を示しました。彼は次のコードはメモリリークを引き起こす可能性があると言いました。

var test = (function(){ 

    var events = { 
     // my functions go here 
    } 

    return { 
    // return something 
    } 

}()); 

彼はイベント変数がオブジェクトであり、私はそれのためにnullを設定していないよ以来、それは私がテスト後のためヌルを設定しても、メモリリークを引き起こす可能性があることを述べました。

私が知る限り、上記のコードスニペットは大丈夫です。なぜなら、私はイベントを回していないからです。

私はアドバイスが必要です!

答えて

3

あなたのコードは問題ないと思います。あなたがあるため、循環参照のため、DOM要素への参照を持っている場合、クロージャでメモリリークが発生(fooelementに上保持し、elementfooに上保持しているので、彼らはゴミを収集することはできません):

function foo(element, a, b) { 
    element.onlick = function(a, b) { /* uses a and b */ }; 
} 

なぜ、あまり心配 - この信念のための私のソースは

0

@moon ... here

しかし、他の人が別の問題を知っているかもしれないのですか?どのくらいの頻度でコードが座っている間に実行されていますか?何バイトが失われるのでしょうか?次に、あなたのJavaScriptを補間して実行するさまざまなブラウザを考慮する必要があります。

あなたの努力を要約すると、より良い報酬が得られます。

+0

//私はそのコードサンプルを置いています。私はそのコードを使用しているからではありません。それはちょうど私が私のポストに言及した例です。 – Moon

+0

@moon - 私は、あなたの努力がほかの場所でより効果的になると思っています。 (BTW - Enid Btytonの名前 - 遠く離れた木の民族) –

+0

//ここであなたの意図を理解し理解していますが、メモリリークは私がスキップしたいものではありません。既知の問題を残して私の努力を他のところに集中させることは、私の謙虚な意見の中での問題です。 – Moon

関連する問題