実際、次の 2 つのパターンの違いは何ですか?
あ
mySpace = mySpace || {}
mySpace.isObsolete = function() {};
mySpace.hipsterYear = 2006;
利用方法:
var iable = mySpace.isObsolete();
var year = mySpace.hipsterYear;
B (モジュールパターン)
mySpace = (function(){
var obj = {};
var someVar = 2012;
obj.hipsterYear = 2006;
obj.isObsolete: function() {};
return obj;
}());
利用方法:
var iable = mySpace.isObsolete();
var year = mySpace.hipsterYear;
B では、無名関数によって someVar に外部からアクセスできないスコープが作成されます。Aではそのような構成は不可能だと思いますか?したがって、A と B は作成されるスコープが異なります。
名前空間に関する違いは何ですか? AとBは同等ですか?