Есть ли какая-то выгода при написании классов JavaScript и пространств имен этого ...
if(typeof MyNamespace === 'undefined'){
var MyNamespace = {};
}
(function(){
MyNamespace.MyClass = function(){
this.property = 'foo'
return this;
}
}());
По сравнению только с этим ...
if(typeof MyNamespace === 'undefined'){
var MyNamespace = {};
}
MyNamespace.MyClass = function(){
this.property = 'foo'
return this;
}
Я видел первый шаблон, реализованный в нескольких библиотеках, и пытался выяснить, есть ли какое-либо дополнительное преимущество, если в первом примере не было объявлено какой-либо другой функции внутри анонимной функции.