2009-10-05 11 views
17

Ich bin ein Java-Entwickler, der Flex versucht. Hier ist mein Problem:actionscript (flex): Wie kann man wissen, ob eine Eigenschaft eines Objekts existiert (oder definiert ist)?

Ich benehmen ActionScript-Objekte als hashmap, aber wenn das Objekt nicht die Eigenschaft hat, gibt es eine Ausnahme: Keine solche Variable.

Hier erwarte ich, dass es mir null gegeben hat, anstatt eine Ausnahme zu geben. Wissen Sie also, ob es einen Weg gibt, das zu handhaben, nämlich zu prüfen, ob die Eigenschaft für ein Objekt definiert ist.

trace (obj [ "2008-02"]) // gibt Ausnahme

Antwort

29

Verwenden etwas entlang der Linien von

if (myObject.hasOwnProperty("propertyName")) 

wenn die Eigenschaft vorhanden zu überprüfen.

Edit: Werfen Sie auch einen Blick here.

+0

danke, für die schockierende schnelle Antwort – javanes

0

versuchen

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

es null ist, aber man kann nicht ausgegeben null. Sie können auch versuchen, es in eine Zeichenfolge für die Zwecke einer Ablaufverfolgung() zu konvertieren.

1

hasOwnProperty()doesn't work correctly mit Vererbung, statischen Eigenschaften oder Wörterbüchern.

sollten Sie

if ("propertyName" in myObject) 

stattdessen verwenden.

Verwandte Themen