В замечательной книге С.Стефанова по шаблонам JS в главе 5 есть описание использования шаблона "модуль" с помощью немедленно вызываемой функции возвращающей функцию-конструктор(стр 132).
MYAPP.utilities.Array = (function() {
var Constr,
//зависимости
//частные свойства и методы...
...;
Constr = function(o){
this.elements = this.toArray(o);
};
Constr.prototype = {
...
};
return Constr;
}());
но разве при таком объявлении мы не получим одно частное свойство на все созданные с помощью возвращенного конструктора объекты? т.е. все объекты в качестве частного свойства будут иметь ссылку на один и тот же объект