Sono un po 'nuovo in Actionscript, ma non riesco a capirlo. Ho fatto molte ricerche su questo argomento e non ho trovato una risposta chiara. Ho provato le seguenti soluzioni che le persone hanno pubblicato online ma nessuno di loro funziona.Actionscript3: esiste una variabile?
Tutte le seguenti soluzioni danno l'errore: 1120: L'accesso alla proprietà non definita myVariable
Suggerimento # 1:
try {
trace(myVariable); }
catch {
trace("your variable doesn't exist"); }
Suggerimento # 2:
if (myVariable) {
trace("your variable exists!!"); }
else {
trace("it doesn't exist"); }
Suggerimento # 3:
if (myVariable == null)
trace("your variable doesn't exist");
Suggerimento # 4:
if (myVariable == undefined)
trace("your variable doesn't exist");
Come ho detto, ho trovato molti forum post e roba online che danno i suggerimenti sopra dicendo che lo faranno lavoro, ma sembra che mi stiano dando sempre lo stesso 1120: accesso alla proprietà non definita myVariable errore.
In ogni caso, nel caso ti stia chiedendo perché avrei bisogno di controllare se esiste una variabile o meno, sto pianificando di passare variabili al SWF nel suo URL, quindi devo assicurarmi che esistano le variabili corrette e gestire il codice correttamente se non vengono inoltrati.
Grazie per la risposta rapida. Ancora non funziona davvero. L'ambito della variabile è solo sul livello superiore/root dello script. Fondamentalmente, mi metto un nuovo file flash, sul primo fotogramma aggiungo le seguenti azioni:
// to check for this.myVariable
if (this.hasOwnProperty("myVariable")) {
trace("myVariable exists");
}
else
{
//Variable doesn't exist, so declare it now
trace("declaring variable now...");
var myVariable = "Default Value";
}
trace(myVariable);
Quando eseguo il file flash, ottengo questo output:
myVariable exists
undefined
mi aspettavo questo:
declaring variable now...
Default Value
Questo ha funzionato perfettamente! Grazie! –
ONe upvote per il marchio "nel modo giusto". –