私は、クロージャとのjsオブジェクトを作成するために、これら二つのアプローチを見て、しかし、任意の利点は、他の上で一つのアプローチを使用するためにあったかどうかわからなかったしました:Closure Object Creation:これらの2つのアプローチのメリットとデメリットは何ですか?
1)新しい
var myObject = new function() {
// ...
this.foo = 'bar';
};
2を使用して。)を使用して、自己実行匿名
var myObject = (function() {
// ...
return {
foo: 'bar'
};
}());
私はアプローチ1 this
を割り当てる必要のためにいくつかのオーバーヘッドを持っていることについて、いくつかを読んだが、私はその主張は、アプローチ2のようなものと比較されていたかどうかわからなかった、または返されない自己実行型の無名関数と比較して。
個人的に私は最初の構文がより保守的に見えますが、それは単に個人的な好みかもしれません。
+1良いですインテリセンスのサポートについて、私は第2のパターンVS2010を使用している間気づいてきましたが、プロパティを非常にうまく認識していないようです。 –