Que yo sepa hay 2 posibles formas, o por lo menos las mas usuales, de crear objetos en javascript.
Una es la tradicional, la que implementa el core de javascript, es decir, con las clausulas function, new y this. Se puede aplicar herencia entre objetos pero ya es mas complicado y poco usado en javascript. Permite crear atributos y metodos publicos y privados. Es cierto que el codigo queda un poco feo, pero funciona bien.
Ahora bien, hay otra segunda forma que a veces he visto, pero que en mi opinion no deberia usarse porque no es ese su proposito. Se trata de usar objetos JSON y añadirles atributos y metodos. Tiene una grandisima ventaja, el codigo queda muy limpio y ordenado, pero tiene un gravisimo inconveniente, no permite atributos ni metodos privados. Todo atributo o metodo que pongas sera publico y se podra modificar, por lo que el termino "objeto" deja de tener sentido. Un ejemplo seria el siguiente:
Código Javascript:
Ver original
var miObjeto = { atributo1: 10, atributo2: ["casa", "ventana", -1], funcion1: function (){ this.atributo1 += 5; } funcion2: function (param1){ this.atributo2[2] = param1; } } miObjeto.atributo1 = -2; miObjeto.funcion2 (15); miObjeto.funcion1 = function (){ alert ("nueva funcion"); }
Como se ve, se esta utilizando un objeto JSON como un objeto tradicional cuando su objetivo original es facilitar el intercambio de datos mediante AJAX.
Creeis que es buena? Mala practica?
Vosotros como haceis vuestros objetos en javascript (si es que usais).