问题
I am a Java developer who tries Flex. Here is my problem:
I behave actionScript objects as hashmap but when the object do not have the property it gives exception: No such variable.
Here I expect it gave me null, instead of giving exception. So do you know is there a way to handle it, namely check if the property is defined for object.
trace( obj["2008-02"] ) // gives exception
回答1:
Use something along the lines of
if (myObject.hasOwnProperty("propertyName"))
to check if the property exists.
Edit: Also take a look here.
回答2:
hasOwnProperty()
doesn't work correctly with inheritance, static properties, or dictionaries.
You should use
if ("propertyName" in myObject)
instead.
回答3:
try
if ( obj["2008-02"] != null ) { then do something }
it is null, but you can't output null. you can also try converting it to a string for the purposes of a trace().
来源:https://stackoverflow.com/questions/1520610/actionscript-flex-how-to-know-whether-a-property-of-object-exists-or-defined