Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/08/2011, 15:26
IXtremeLT
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 12 años, 9 meses
Puntos: 32
Respuesta: Arreglos de Objetos...

Hola,
Haré un similitud en el caso de la siguiente clase:
Código PHP:
Ver original
  1. class Punto{
  2.     var $x=0;
  3.     var $y=0;
  4.     function __construct($x,$y){
  5.         $this->x=$x;
  6.         $this->y=$y;
  7.     }
  8. }
Del cual se pude crear un objeto escribiendo new Punto(x,x), en javascript es muy similar.
Primero necesitas crear el constructor, antes que nada, el constructor es simplemente cualquier función:
Código Javascript:
Ver original
  1. //Puede ser de las siguientes maneras:
  2.  
  3. //Así (que no lo recomiendo)
  4. var Punto = new Function("
  5.    this.x=arguments[0];
  6.    this.y=arguments[1];
  7. ");
  8. // O así(la preferira por casí todos los programadores de Javascript[incluyendome])
  9. var Punto = function( x, y ) {
  10.     this.x = x;
  11.     this.y = x;
  12. };
  13. // O así(la forma tradicional)
  14. function Punto( x, y ){
  15.     this.x = x;
  16.     this.y = x;
  17. }
Una vez creado el constructor, ya puedes crear el prototipo de tu clase, con el que podrás implementar el objeto, para ello simplemente puedes ir agregando las propiedades o métodos del constructor, en tu caso son propiedades (x, y).

Código Javascript:
Ver original
  1. //Los objetos "prototype" y "this", son las palabras clave para transformar una función en un constructor para un objeto
  2.  
  3. // Puede ser así
  4. Punto.prototype.x = "";
  5. Punto.prototype.y = "";
  6.  
  7. // O así
  8. Punto.prototype= {
  9.     x: "",
  10.     y: ""
  11. };
  12. // O como los ejemplos anteriores, es decir, dentro de la función, tal como:
  13. var Punto = function( x, y ) {
  14.     /* Agregando propiedades al objeto "this", ya podrá ser usada como un
  15.         constructor*/
  16.     this.x = x;
  17.     this.y = x;
  18. };
Y para utilizar el constructor, para crear un objeto, simplemente haces de la mísma forma que en PHP, es decir:
Código Javascript:
Ver original
  1. var MiObjeto = new Punto( 9, 1 );

En resumen, puedes hacer todo en la mísma función usando "this" o puedes hacerlo aparte usando "prototype".

Espero que te sirva de algo, saludos.

Última edición por IXtremeLT; 14/08/2011 a las 15:37