>non mi convince molto il discorso che non so a priori cosa contenga
>la mia variabile (nel mio caso è una variabile con nomi di oggetti quindi una stringa)
No infatti, nel tuo caso lo sai già, ma come ti dicevo si tratta di una verifica da fare al momento della compilazione, e in quel momento il compilatore non può sapere come si chiamerà la variabile. A proposito invece dell'indice per la ricerca nell'array, quello è proprio il caso in cui usare un array associativo ( e infatti a partire dall'actionscript 3 è stato introdotta la classe Dictionary). Ad esempio, potresti fare:
Codice PHP:
var dizionario:Object = new Object();
dizionario[ mioArray[counter].nomelayer ] = "bla bla bla";
per poi recuperare la variabile tramite:
Codice PHP:
trace( dizionario[ variabile ] );
Rimane che perdi la possibilità di settare il tipo di dato della variabile, ma ciò, ripeto, vale solo al momento della compilazione. Al momento dell'esecuzione, puoi verificare il tipo con un instanceof, ad esempio:
Codice PHP:
var nomeVariabile:String = "pippo";
var contenutoVariabile:String = new String( "ciao" );
var dizionario:Object = new Object();
dizionario[ nomeVariabile ] = contenutoVariabile;
trace( dizionario[ nomeVariabile ] instanceof String ); // true
trace( dizionario[ nomeVariabile ] instanceof Number ); // false
trace( dizionario[ nomeVariabile ] instanceof Array ); // false
trace( dizionario[ nomeVariabile ] instanceof Function ); // false