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

 

 

 

posted @ 2013-06-19 15:18  JaoYE  阅读(214)  评论(0编辑  收藏  举报