2009-10-05 18 views
17

Sono uno sviluppatore Java che prova Flex. Ecco il mio problema:actionscript (flex): come sapere se esiste una proprietà dell'oggetto (o definita)?

Mi comporto di oggetti ActionScript come hashmap ma quando l'oggetto non ha la proprietà fornisce un'eccezione: Nessuna variabile di questo tipo.

Qui mi aspetto che mi abbia dato nulla, invece di dare un'eccezione. Quindi sai che c'è un modo per gestirlo, vale a dire controlla se la proprietà è definita per oggetto.

trace (obj [ "2008-02"]) // dà eccezione

risposta

29

Usa qualcosa sulla falsariga di

if (myObject.hasOwnProperty("propertyName")) 

per verificare se la proprietà esiste.

Modifica: Guarda anche here.

+0

grazie, per la risposta veloce scioccante – javanes

0

provare

if (obj["2008-02"] != null) { then do something } 

è nullo, ma non si può nulla in uscita. puoi anche provare a convertirlo in una stringa ai fini di una traccia().

1

hasOwnProperty()doesn't work correctly con ereditarietà, proprietà statiche o dizionari.

Si dovrebbe usare

if ("propertyName" in myObject) 

invece.

Problemi correlati