« Extensiones para Flash MX 2004 | Inicio | CuestiÛn de flexibilidad (AS 2.0) »

CuestiÛn de flexibilidad

Como ya es conocido, los objetos en ActionScript realmente son una especie de arrays accesibles no sÛlo por n˙mero de Ìndice, sino por un identificador.

Por tanto, cuando queremos manipular alguna de las propiedades de un objeto lo podemos hacer de las siguiente manera:

var miObj = new Object(); miObj.prop1 = "design-nation";

Aunque tambiÈn podemos hacerlo asÌ:

var miObj = new Object(); miObj["prop1"] = "design-nation";

Y esto nos abre la puerta a acceder a los valores de las propiedades de objetos de forma din·mica. Por ejemplo:

var miObj = new Object(); miObj.prop1 = "propiedad1"; miObj.prop2 = "propiedad2"; miObj.prop3 = "propiedad3";

Y luego podemos acceder a esos valores de la siguiente manera:

for (var k=1;k<4;k++){ trace("la propiedad prop"+k+ " tiene el valor " + miObj["prop"+k]); }

øY quÈ pasa con los mÈtodos?. Pues algo parecido. Veamos:

var miObj = new Object(); miObj.metodo1 = function(){ trace("metodo1"); } miObj["metodo1"]();

Por tanto, podremos ejecutar mÈtodos de un objeto de forma din·mica, sin saber realmente lo que estamos ejecutando.