尝试编译:
var object:Object = {};
object.one = "foo";
object.two = "foo";
object.three = "foo";
object.four = "foo";
for(var key:String in object)
{
trace(key);
}
......你会得到:
one
four
two
three
为什么搞砸了订单?
答案 0 :(得分:2)
AS3中的对象可以看作是哈希表,其中字段名称是键。所以你不能依赖创建顺序在循环遍历字段时获得相同的顺序,顺序将取决于用于散列字段名称的算法。
答案 1 :(得分:1)
未订购对象的键。如果您需要保留订单并进行查找,则需要创建一个提供该功能的自定义集合。
答案 2 :(得分:0)
什么“搞砸了”命令?
对象上的属性没有顺序。 for...in
可以按照自己喜欢的顺序迭代它们。