Soy un poco nuevo en JavaScript, así que tengan paciencia si esta es una pregunta tonta.Pregunta sobre la eficacia del cierre/encapsulado en JavaScript
Digamos que tengo una "clase" que tiene este aspecto:
var obj = function() {
var val;
return {
setVal: function(newVal) {
val = newVal;
},
getVal: function() {
return val;
}
};
};
Suponiendo que mi sintaxis es correcta, esto define una clase con una propiedad "privada" llamado "valor", con métodos para establecer/obtener la propiedad. Ahora, voy a crear dos objetos de esta clase:
var myObj = obj();
var yourObj = obj();
¿Este a crear un método GETVAL() setval separado() y para cada objeto? ¿Si no, porque no? Si es así, ¿es esto una preocupación seria al construir aplicaciones web eficientes? ¿Valdrá la pena la compensación (si existe) de la eficacia del cierre en la mayoría/todos los contextos? ¿Soy tonto?
Gracias, Gerard
aquí hay un buen artículo sobre cierres y creación de prototipos. http://www.ruzee.com/blog/2008/12/javascript-inheritance-via-prototypes-and-closures – ScottE
Esta es una pregunta excelente para preguntar si acaba de comenzar en javascript. – Zoidberg