¿Prototipado y método no prototipo? [duplicar]
Frecuentes
Visto 186 veces
5
Me preguntaba, ¿cuál es la diferencia entre un método prototipo y uno no prototipo en JavaScript? Cualquier ayuda es profundamente apreciada.
1 Respuestas
10
Un método sin prototipo ocupará memoria en cada instancia de la clase.
También (suponiendo que esté declarado en el ámbito del constructor de la clase) tendrá acceso a cualquier otra variable (o método) privada declarada en ese ámbito.
Por ejemplo, esto creará una instancia de la función por objeto, y esa función puede acceder myVar
:
function MyObject() {
var myVar;
this.func = function() { ... };
};
y en este caso solo hay una instancia de la función compartida entre cada instancia del objeto, pero no tendrá acceso a myVar
:
function MyObject() {
var myVar;
};
MyObject.prototype.func = function() { ... };
contestado el 22 de mayo de 12 a las 16:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript object or haz tu propia pregunta.
MDN Explicación del prototipo aquí -> developer.mozilla.org/en/JavaScript/Reference/Global_Objects/… - Manse
Uno se define en el objeto mismo, el otro en el prototipo del objeto. Por definición. - Matt Ball