周淼(MillsonZhou)的个人博客,记录、收藏、分享

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,这两个和其他语言基本一样,就不细说了

返回顶部