O que está acontecendo quando eu uso para (eu no objeto) no AS3?

Para iterar sobre as propriedades de umObject em AS3 você pode usarfor(var i:String in object) como isso:

Objeto:

<code>var object:Object = {

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

};
</code>

Loop:

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

Resultado:

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

A ordem na qual as propriedades são selecionadas, no entanto, parece variar e nunca corresponde a qualquer coisa que eu possa pensar, como o nome da propriedade alfabética, a ordem em que elas foram criadas, etc. Na verdade, se eu tentar algumas vezes diferentes em lugares diferentes , a ordem é completamente diferente.

É possível acessar as propriedades em uma determinada ordem? O que esta acontecendo aqui?

questionAnswers(2)

yourAnswerToTheQuestion