0

私はjavaScriptモジュールを初めて使用します。そのための多くの記事を読みましたが、モジュールは以下の2つの異なる方法で定義されていることがわかりました。

// '()' after module close
var firstModule = (function() {
  // Module defination goes here
})();

// '()' before module close
var secondModule = (function() {
  // Module definition goes here
}());

私は両方を試しましたが、違いは見つかりませんでした。

両方の違いは何ですか?その場合、どちらのタイプの宣言を使用する必要がありますか?

4

1 に答える 1

2

実践に違いはありません。好みの問題です。次のように書くこともできます。

var f = function(){ ... }();

かっこで囲まれているのは、関数が IIFE (Immediately Invoked Function Expression) であることを警告するためです。最初の例では、関数のみを式として扱います。2 番目のものでは、IIFE 全体を式として扱います。コードの実行方法に違いはありません。その手がかりを提供するためだけに存在します。

于 2013-01-10T06:06:23.843 に答える