次のようにクロージャーを使用している関数があります。
function myobject() {
var width=300,
height=400,
bigjsondata = { } // assume this is a big variable ~ 300k
function obj(htmlelement) {
// plot a graph in this htmlelement based on bigjsondata
}
return obj;
}
var plot1 = myobject();
plot1('#holder1');
var plot2 = myobject();
plot1('#holder2');
変数bigjsondata
には大きなデータセットが含まれています。bigjsondata
問題は、変数を作成するたびにメモリを割り当てるvar a = myobject()
かどうかです。
多くのインスタンスが作成されると、メモリの問題が発生する可能性がありますか?
もしそうなら、それを一度だけロードする最良の方法は何ですか? (bigjsondata
変わらない)
編集:最後に、myobject
グローバルにアクセスできるようにしたいと思います。