AS 学习笔记 for in 和 for each in

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

原文地址:https://www.cnblogs.com/jaoye/p/3144240.html