Hola.
Esta es una curiosidad que me inquieta desde una conversación que tuvimos hace un tiempo sobre usar eval o no:
http://www.forosdelweb.com/f13/eval-...5/#post2841388 Cita:
Iniciado por venkman Ahora yo pregunto... ¿cuántos huyen del uso de eval pero siguen usando el constructor Function y pasando cadenas a setTimeout/setInterval?
En ese momento supuse que se trataba de una cuestión de rendimiento (por el contexto en que se estaba hablando), investigué al respecto pero no encontré nada preciso.
Entiendo que si se usa mal una función generadora para crear objetos estaremos usando memoria innecesaria asignando una y otra vez los métodos al nuevo objeto creado. Pero, no necesitamos hacerlo, de hecho el paradigma de orientación a objetos de Javascript es basado en prototipos. Y justamente en ese caso basta con asignar los métodos al prototipo para evitar el problema mencionado anteriormente.
También, en cierto momento se conversó de las diferencias entre reutilizar un objeto creado con una función generadora y uno creado usando Object Literal Notation:
http://www.forosdelweb.com/f13/dos-puntos-631144/
En fin, resumiendo, ¿por qué entonces no es recomendable usar function() para generar objetos?
Saludos.