in AS puoi dichiarare una variabile in tre modi,
1. con la chiave var, dichiarandone il tipo con i due punti, es: var miaVar:Tipo = new Tipo();
2. su riferimento di un oggetto senza dichiararne il tipo, ma usando il new dopo l'uguale, es: _level0.miaVar = new Tipo();
3. attraverso una stringa che fa riferimento ad un determinato oggetto come se si trattasse di un array associativo, es: _level0['miaVar'] = new Tipo();
nel primo caso lo scope della variabile è locale, ossia la variabile esiste solo nel posto in cui viene dichiarata, ad esempio se viene dichiarata in una funzione, non esisterà all'esterno della stessa
nel secondo e nel terzo caso la variabile si può reperire da qualsiasi parte perchè ha un riferimento preciso, ovviamente se il posto in cui viene dichiarata è in un evento asincrono, di cui perciò non si conosce il tempo in cui verrà eseguito, è possibile che la variabile fuori da quell'evento non sia definita e fondamentalmente non esista
ancora una cosa per il terzo caso, è utile quando serve creare nomi composti da variabili, come ad esempio in un ciclo
Codice PHP:for(var i:uint=0; i < 10; i++){
var s:Sprite = new Sprite();
s.name = 'obj'+i;
addChild(s);
}
for(var j:uint=0; j < 10; j++){
var t:Sprite = getChildByName('obj'+i);
trace(t.name);
}

Rispondi quotando