AS3中的循环Loops
其实主要是想说for in和for each in的区别,因为开始写AS3的时候不清楚,虽然很简单
首先定义一个Object:var _obj:Object = { "name":"jack", "sex":"man", "age":19 };
1. for in: for (prop in _obj) { trace(prop); }
输出:age sex name
2. for each in: for each(prop in _obj) { trace(prop); }
输出:19 man jack
可以看出,for取出的是key,for each取出的是value
as3是面向对象的,Array也是Object,对Array使用for in、for each in又是什么结果呢,继续测试
定义一个Array:var _arr:Array = ["jack", "tom", "white"];
1. for in: for (prop in _arr) { trace(prop); }
输出:0 1 2
2. for each in: for each(prop in _arr) { trace(prop); }
输出:jack tom white
果然没有错,和Object的结果是一样的,具体的开发中,其实对Array一般不用for in、for each in,直接用下面这种写法
for (var i:Number = 0; i < _arr.length; i++) { trace("key: " + i +", value: " + _arr[i]); }
这样能同时取到key、value,使用更灵活,as3中的循环还有while和do while,这两个和其他语言基本一样,就不细说了