5

スタイルの慣例として、グローバルスコープの変数にアクセスするときに明示的にするのが好きです。

window.example = "Hello";
window.alert(window.example);

あまり冗長ではない

example = "Hello";
alert(example);

これで、ブラウザーから直接使用できるモジュールができました。使用可能な場合は、Webワーカーから使用できます。Webワーカーでは、グローバルオブジェクトはと呼ばselfれ、ブラウザではと呼ばれwindowます。

windowオブジェクトにはselfプロパティがあるためself.example = "Hello"、誰も再宣言しない限り、両方のコンテキストで機能します(self多くの場合、 var self = this)。

一緒に行くのに最適なコンベンションは何ですか?

  • self誰もが矛盾を宣言しないことを使用してくださいself
  • windowが定義されている場合はを使用しwindow、そうでない場合はを使用しますself
  • 他に何かありますか?

それについて考えたので、私は2番目のものを使いたいと思っています。

4

3 に答える 3

7

グローバルスコープでは、ページまたはWebワーカーのいずれかで、次のようなコードを記述できます。

(function( global ) {
  // ... whatever
}( this );

次に、そのメインの外部関数内で「グローバル」(または「ウィンドウ」または「セルフ」または「何でも」と呼ぶ)を使用でき、どちらのコンテキストでも(またはNode.jsで)機能します。

于 2012-06-22T18:28:23.207 に答える
1

私は提案します

var global; try { global = window } catch(e) { global = self }
于 2012-06-22T18:26:14.280 に答える
0

ウィンドウまたは自己への独自の参照を作成できます。

var my_window = window || self;
于 2012-06-22T18:27:51.037 に答える