Ah, vale, creo que ahora sí te he entendido. Volviendo al ejemplo anterior:
Código Javascript
:
Ver originalvar espacio = (function(){
var variables = {
'a' : 'b',
'c' : 'd',
'e' : 'f'
// ...
};
return {
'extender' : function(key, valor){ variables[key] = valor; return this; },
'verVariables' : function(){
for(var prop in variables){
variables.hasOwnProperty(prop) && console.log(prop, variables[prop]);
}
return this;
}
// ...
};
})();
// Quiero añadir propiedades/métodos privados
espacio.extender('privado', [1, 2, 3, true, {}, 'abc']);
// Quiero añadir propiedades/métodos públicos
espacio.verPrivado = function(){ this.verVariables(); }
Sin embargo, al añadir propiedades o métodos públicos, estos no tienen acceso directo al interior del closure, aunque se les podría dar.
Saludos (: