for in 的速度比 for each in 慢很多倍 ~~
var myArray:Array = new Array();
myArray["a"] = "zero";
myArray["b"] = "one";
myArray["2"] = "two";
var _local1:String;
for(_local1 in myArray) trace(_local1);
这个 _loacl1 打印的是 2 b a
var _local2:String;
for each (_local2 in myArray) trace(_local2);
这样打印的 是 值 two , one , zero
PS : 好多人说 Array 的打印 是无序 的 但是 我测试 发现好像 如果有键值的时候 会按照 键 排序后 打印 结果
如上面的程序 总是 先打印 数字下标的 在打印 字母的 (未作大量测试~,不一定 对哦)
============我是分割线===================
下面是 scaleform 和 Flash 的区别
如果想上面 代码那样写 两边是没有 什么 区别的
但是 如果 把 临时变量(_local1, _local2) 的类型设置为 *
那么 两边的结果 就不同了 Flash 中依然正常打印结果
在 scaleform 中 则只能打印以 数组 为下标的
如若不是 则 键 打印为 NaN 值 打印为 undefined