Do not speak Spanish? Read this post in English.

Domingo, 08 de Febrero de 2009.

javascript literal : definiendo objetos directamente

Frameworks aparte, javascript no es un lenguaje con el que deban definirse complejas clases con las que trabajar herencia, entorno, privacida, etc... Sin embargo el trabajo orientado a objetos siempre es mucho más ágil, ordenado y cómodo que la simple definición de funciones.

Por suerte para nosotros javascript permite entre su multitud de formas de definir objetos la notación literal. Este formato nos permite ir señalando directamente la commposición de un objeto sin haberle declarado la clase siquiera. En la práctica esta forma de escribir nos permite hacer desarrrollos separados con funciones que alteren las mismas variables dentro de un mismo objeto.

Básicamente, para escribir en notación literal hay que conocer dos formas de declarar los hijos y entender como igualar cualquier función a una valirable.

Definiendo propiedades/metodos:

Para eso simplemente encapsularemos la lista de proiedades/métodos entre los carácteres "{" y "}" y los separaremos por comas.

1
2
3
4
5
6
7
8
9
10
miObjeto = { 
   propiedad1 : "valor de la propiedad",
   propiedad2 : 45,
   metodoCualquiera : function (variable) {
      alert(variable);
   }
};
 
miObjeto.metodoCualquiera( miObjeto.propiedad1 );
// provocará un alert que diga "valor de la propiedad"

Definiendo arrays numéricos:

En este cas, y como en otros lenguajes, bastará con encapsular los valores por orden entre corchetes.

1
2
3
4
5
6
7
8
9
10
11
miObjeto = { 
   propiedad1 : "valor de la propiedad",
   propiedad2 : 45,
   metodoCualquiera : function (variable) {
      alert(variable);
   },
   propiedadArray : [ 34 , 45, 38 ]
};
 
miObjeto.metodoCualquiera( miObjeto.propiedadArray[1] );
// provocará un alert que diga "45"

Dando produndidad al objeto

Por por último hay que saber que cualquiera de estos valores puede ser a su vez otro array u objeto, con lo que podemos crear nuestro árbol de objetos también directamente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
miObjeto = { 
   propiedad1 : {
      valor1 : [ 34 , { 
         nombre : "ikhuerta", 
         valor : "cualquiera",
         miFuncion : function (variable) {
            alert(variable);
         }
      } ]
   },
   metodoCualquiera : 
   propiedadArray : [ 34 , 45, [3,14,16] ]
};
 
miObjeto.propiedad1.valor1[1].miFuncion( miObjeto.propiedadArray[2][1] );
// provocará un alert que diga "3"

Posts Relacionados:

  1. usar funciones javaScript
  2. Reescribir funciones en javascript
  3. Reemplazar partes de funciones javascript
  4. JSONP : JSON con Padding
  5. Ejemplo de Facebook Graph API con Javascript SDK, pero aun más sencillo (Actualizado con Login por OAuth 2.0)

Temas Relacionados: jquery tutoriales

Autor:

2 Comentarios para “javascript literal : definiendo objetos directamente”

  1. [...] conocer la librería jquery a la perfección. Lo único realmente necesario va a ser dominar la notación literal que nos permite definir objetos directamente en el código. A partir de ahí crear nuestro plugin [...]

  2. Viviana dice:

    Muchas gracias por este post. Me ha ayudado a entender este tema que para ser tan vital, me parece hay poco al respecto.

Anímate y deja tu comentario