Hey Tucker,

Thanks for your reply and detailed explanation. In my case, I'm coming to Flash 
10. I guess that the in operator might work. I'm specifically trying to warn 
the developer if they have forgotten to declare an attribute.

-Antun

"P T Withington" <[email protected]> wrote:

>Not in a forward-compatible cross-platform way.
>
>In Javascript, for a general Object, you can say:
>
>  obj = { a: 3 };
>
>  if ('b' in obj) ... obj.b
>
>But OL classes are implemented as actual classes in some target
>runtimes, and in those runtimes, class instances are not plain objects,
>and the `in` operator is not (always) applicable.
>
>Luckily for you, Javascript does have the special "undefined" value
>[which we write as `(void)0`, because some Javascripts do _not_ ensure
>that `undefined` is undefined], which is different from all other
>values, including `null`.  Usually this is sufficient to tell whether
>an attribute has been initialized or not.
>
>I'm hedging my bets above because currently, when we compile to swf10
>(the strictest runtime so far), we do so in a way that the `in`
>operator _will_ work for most, but not all, OL instances; but I
>wouldn't want you to rely on that, because one of the performance
>features we are considering turning on will make that no longer true.
>
>In general, you don't want to be dynamically adding attributes to OL
>instances, so you shouldn't need to test for their existence.  For us
>to continue to support that model going forward, we will pay a
>performance penalty.
>
>Maybe if you say what you are really trying to do, we can offer a
>better solution?
>
>On 2010-10-29, at 20:22, Antun Karlovac wrote:
>
>> Hi all,
>> 
>> Does the OL runtime have a way to check if an attribute is declared
>(but not necessarily defined).
>> 
>> e.g. I want to tell the difference between the following:
>> 
>> <myclass>
>> <attribute name="myAttribute" />
>> </myclass>
>> 
>> <myclass>
>> </myclass>
>> 
>> It's no use testing for undefined, because in the first case,
>myAttribute _is_ undefined.
>> 
>> Thanks,
>> 
>> Antun

-- 
Sent from my Android phone with K-9 Mail. Please excuse my brevity.

Reply via email to