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

 

 

 

相关文章:

  • 2021-08-11
  • 2022-12-23
  • 2021-04-12
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2022-12-23
  • 2021-11-05
猜你喜欢
  • 2022-12-23
  • 2021-09-30
  • 2021-06-15
  • 2021-09-06
  • 2021-12-03
  • 2021-07-15
  • 2022-12-23
相关资源
相似解决方案