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.