2

Module Pattern が Javascript プログラミングで非常に便利で強力であることは知っています。Eric Miraglia さんのブログで初めてそのパターンを認識しましたが、1 つ疑問に思っていることがあります。Module Pattern を説明している他のブログや記事では、それらのサンプル コードが Eric の記事と少し異なることに気付きました。つまり、関数ステートメントではなく括弧付きの関数式を使用しています。たとえば、ben cherry の記事はその 1 つです。

関数ステートメントではなく関数式を使用する特定の理由はありますか? 簡単な方法で説明してください、私はJavascriptプログラミングの世界に入ったばかりです:)

4

1 に答える 1

2

Miraglia パターンも同じで、無名関数を定義して実行します。違いは、モジュールの機能を使用するには、どこかにインスタンスへの参照が必要なことです。モジュールをグローバル変数 (YAHOO.*) に割り当てることは、特にフレームワーク (YUI など) にとって重要な、グローバルに知られている場所で参照を保持する方法です。

その参照が必要ない場合もあります。たとえば、Web ページの JavaScript を作成している場合、セレクター (ID / タイプなど) を使用してイベントを関数にバインドすることがよくあります。これにより、モジュール関数へのグローバル参照が本当に不要になります。

それが理にかなっていることを願っています...

于 2012-06-14T04:46:04.383 に答える