モジュール全体を具現化し、グローバル プロパティを設定して特定のパブリック API パーツを公開する匿名関数を使用するために、java-script で module-via-anonymous-function-pattern を使用しています。
このようなグローバル プロパティを設定するいくつかの方法を試しましたが、以下に掲載されている 2 番目の方法は失敗します。
window.foo = (function() {
function bar() { this.hello = "world" }
return new bar();
})();
> foo.hello
"world" // OK
対。
(function() {
window.foo2 = new bar( this.hello = "world" );
function bar() {}
})();
> foo2.hello
undefined // Fail
2 番目の方法で適切なバー オブジェクトが作成されないのはなぜですか?