1. ホーム
  2. javascript

[解決済み] jQueryでグローバルな値(必ずしもグローバル変数ではない)を格納するには?

2023-07-07 16:23:02

質問

現在、私は大量の JavaScript、jQuery、Microsoft クライアント JavaScript、およびその他のライブラリを使用するレガシーな Web ページで作業しています。要するに、ビジネスがそれを正当化できないので、ページ全体をゼロから書き直すことはできません。 だから...それが現状なんです。とにかく、私はグローバル名前空間を変数で汚染する必要があります(本当にそうしないように努めました)。私が考えていた3つのオプションがあります。

  1. 通常の JavaScript 宣言を使って保存/取得するだけです - 。 var x = 0;

  2. jQueryを使ってDOMタグに値を保存/取得する - 。 $("body").data("x", 0);

  3. 隠しフォームフィールドを使用し、jQueryで値を設定/取得する - 。 $("whatever").data("x", 0);

もっと良い方法はないでしょうか?私は既存のコードの山を見ました、そして、私は変数が関数でスコープされることができると信じていません。

どのように解決するのですか?

以下のように、jQueryオブジェクトの中に名前空間を作ることができます。

$.mynamespace = { 
    myVar : "something", 
    myVar2 : "somethingElse" 
}; 

または

$.mynamespace = {};
$.mynamespace.myVar = "something";
$.mynamespace.myVar2 = "somethingElse";

mynamespace'という名前のプラグインメソッドは上書きされますので、適切な名前を付けることを忘れないでください。