¿Qué sucede cuando uso para (i en objeto) en AS3?

Para iterar sobre las propiedades de unObject en AS3 puedes usarfor(var i:String in object) Me gusta esto:

Objeto:

<code>var object:Object = {

    thing: 1,
    stuff: "hats",
    another: new Sprite()

};
</code>

Lazo:

<code>for(var i:String in object)
{
    trace(i + ": " + object[i]);
}
</code>

Resultado:

stuff: hats
thing: 1
another: [object Sprite]

El orden en el que se seleccionan las propiedades, sin embargo, parece variar y nunca coincide con nada de lo que se me ocurre, como el nombre de propiedad alfabético, el orden en que se crearon, etc. De hecho, si lo intento varias veces en diferentes lugares , el orden es completamente diferente.

¿Es posible acceder a las propiedades en un orden dado? ¿Que está sucediendo aquí?

Respuestas a la pregunta(2)

Su respuesta a la pregunta