¿Prototipado y método no prototipo? [duplicar]

Me preguntaba, ¿cuál es la diferencia entre un método prototipo y uno no prototipo en JavaScript? Cualquier ayuda es profundamente apreciada.

preguntado el 22 de mayo de 12 a las 16:05

Uno se define en el objeto mismo, el otro en el prototipo del objeto. Por definición. -

1 Respuestas

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 or haz tu propia pregunta.