2

関数のインスタンスを LocalStore に格納する必要があります。次に例を示します。

function boo() {
   //blah blah
}
var instance = new boo(); //I need to store this variable

instanceLocalStorageに変数を保存するにはどうすればよいですか?

編集:

すべてのブラウザーのタブのシングルトンのように、すべてのブラウザーのタブ/ウィンドウで関数の同じインスタンスを共有する必要があるとします。

4

2 に答える 2

-1

関数自体を保存しようとする必要はありません。関数は静的コードであり、データのインスタンスではないため、サーバーからブラウザーに渡す必要があります。

また、localStorage はドメインで区切られているため、目的がユーザーのブラウザーに関数を挿入し、それを他の Web サイトで呼び出すことである場合、これは不可能です。そのために必要なのは、ブラウザ プラグインを作成し、さまざまなストアに送信することです。

ページごとの Javascript env もタブ間で共有されません。

于 2013-04-13T11:37:52.470 に答える
-4

あなたができることは

var instance = this["boo"];

これにより関数は保存されますが、コンテキストは除外されます。そのため、コンテキストを別の変数に保存するか、関数をコンテキストから独立させて、stateいくつかの場所を保存する必要があります

コンテキスト全体を保存する

var context = JSON.stringify(this);
now when you retrive it then just use eval
var context = eval(context);

instance.cal(context);
于 2013-04-13T11:15:59.433 に答える