actionscript支持的for循环有三种形式:数组
1.for(初始值;条件;递增)测试
例如:spa
for(var x:int=1;x<=10;x++) trace(x);
trace()会把结果输出到日志文件.日志
2.for(属性名 in 数组/对象)code
例如:对象
var myArray:Array = ["alpha","beta","chi"]; for(var i:String in myArray){ trace(i); }
循环是按照属性名迭代,而数组的属性名是数组的索引.因此输出结果为:blog
0索引
1ip
2it
能够经过下面的方法取得值:
var myArray:Array = ["alpha","beta","chi"]; for(var i:String in myArray){ trace(myArray[i]); }
为何变量i在这里是String而不是int?由于for...in循环返回的是属性名,而属性名是String;
若是在for...in循环中使用int,大多数状况下回出错.
访问对象与数组不一样的是,对象直接包含属性或特性,如:
var myObject:Object = {firstName:'Jeff',lastName:'Smith'}; for(var i:String in myObject){ trace("Property:"+i+"="+myObject[i]); }
输出:
Property:firstName=Jeff
Property:lastName=Smith
3.for each(项 in 数组/对象)
for each...in循环用于迭代数组和对象,但测试的不是属性名,而是属性值
var myObject:Object = {firstName:'Jeff',lastName:'Smith'}; for each(var i:String in myObject){ trace(i); }
输出:
Jeff
Smith