Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2013, 07:46
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años, 7 meses
Puntos: 343
Respuesta: Definir todas las propiedades directamente dentro del prototype

Hay que tener cuidado a la hora de asignar objetos como atributos del prototipo, ya que al ser compartido entre todas las instancias puede llevar a comportamientos inesperados:

Clásico ejemplo de esto:

Código Javascript:
Ver original
  1. var Logger = function() {};
  2.  
  3. Logger.prototype._log = [];
  4.  
  5. Logger.prototype.log = function(message) {
  6.     this._log.push(message);
  7. };
  8.  
  9. var logger = new Logger;
  10.  
  11. logger.log('Hello');
  12.  
  13. var anotherLogger = new Logger;
  14.  
  15. anotherLogger.log(' World!');
  16.  
  17. anotherLogger._log; // ["Hello", "World!"]
__________________
blog | @aijoona