propertyName es un variable. Que en esta caso almacena un string, el nombre
de la propiedad del objeto que esta recorriendo el bucle. Pero podria ser
cualquier otro nombre y obtendrias el mismo resultado.

nuevoObjeto=new Object()
nuevoObjeto.valor1=2002
nuevoObjeto.valor2="Marzo"
nuevoObjeto.valor3="Lanzamiento de Flash MX"
nuevoObjeto.valor4= new Object();

for(propName in nuevoObjeto){
 trace("Propiedad: "+propName);
 trace("Valor: "+nuevoObjeto[propName]);
 trace("Tipo: "+typeof(propName));
 trace("------------");
 }

De porque con el constructor:
nuevoObjeto={valor1:2002, valor2:"Marzo",valor3:"Lanzamiento de Flas MX"}

no es que aparezcan en el orden correcto, que yo sepa for..in siempre hace
el recorrido inverso al el orden en el que han sido asignados. Lo que ocurre
es que al crear asi el objeto la sentencia es evaluada de derecha a
izquierda. Con lo que la primera propiedad que se asigna a el objeto seria
valor3. Si te fijas el bytecode con el flasm el orden que saca el for...in
es exactamente el que sale del "stack" donde se almacenan esas
propiedades.Por eso propName coge el string con el nombre de la propiedad y
por eso los for..in son los loops mas rapidos, cogen la informacion tal y
como sale del "stack".

No se si te he aclarado o te he confundido mas :)

Joseba Alonso
Desarrolador Web
www.inproweb.com
www.sidedev.net
----- Original Message -----
From: "Jes�s" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, March 07, 2002 5:41 AM
Subject: [flashmaestro] PropertyName


> Me da verguenza reconocerlo pero reci�n me di cuenta de esto:
PropertyName,
> no parece en el diccionario de AS mas s� en el ejemplo del uso de FOR IN,
> muestra las propiedades de un objeto, �alguien sabe que alcances tiene
esta
> accion, m�todo( o lo que sea)?
> Pongo este ejemplo:
>
> nuevoObjeto=new Object()
> nuevoObjeto.valor1=2002
> nuevoObjeto.valor2="Marzo"
> nuevoObjeto.valor3="Lanzamiento de Flas MX"
>
> for(propertyName in nuevoObjeto){
> trace(nuevoObjeto[propertyName])
> }
> /*esto manda al ouput:
>
> Lanzamiento de Flas MX
> Marzo
> 2002
>
> otra curiosidad que lo muestra en orden descendente*/
>
> Lo mas curioso es que si intentas la sintaxis corta:
>
> nuevoObjeto={valor1:2002, valor2:"Marzo",valor3:"Lanzamiento de Flas MX"}
>
> for(propertyName in nuevoObjeto){
> trace(nuevoObjeto[propertyName])
> }
>
> Las propiedades salen en el orden correcto:
> 2002
> Marzo
> Lanzamiento de Flas MX
>
> M�s all� de las curiosidades espero saber si alguien tiene luz sobre el
tema
> del propertyName (busqu� en mi archivo de fligelaff y no hay nada ;) )
> Saludillos!
> Jes�s
> --------------------------------------
> http://www.xflash.8k.com
>
>

Responder a