![]() ![]() | |
Flash Player 5。
for(variableIterantinobject){statement(s);}
variableIterant 作为迭代变量的变量的名称,迭代变量引用数组中对象或元素的每个属性。
object 要重复的对象的名称。
statement(s) 要为每次迭代执行的指令。
无。
语句;循环通过数组中对象或元素的属性,并为对象的每个属性执行 statement。
一些属性无法用 for 或 for..in 动作进行枚举。例如,Array 类的内置方法(例如
Array.sort() 和 Array.reverse())不包括在 Array 对象的枚举中,而影片剪辑属性(如 _x 和 _y)也不能枚举。 在外部类文件中,实例成员是不可枚举的;只有动态和静态成员是可枚举的。
for..in 语句迭代所迭代对象的原型链中对象的属性。如果 child 的原型为 parent,则如果用 for..in 迭代 child 的属性,也将迭代 parent 的属性。
for..in 动作枚举对象原型链中的所有对象。首先枚举该对象的属性,接着枚举其直接原型的属性,然后枚举该原型的原型的属性,依次类推。for..in 动作不会将相同的属性名枚举两次。如果对象 child 具有原型 parent,而这两个对象都包含属性 prop,则对 child 调用的 for..in 动作将枚举来自 child 的 prop,而忽略 parent 中的该属性。
下面的示例使用 for..in 迭代某对象的属性:
myObject = { name:'Tara', age:27, city:'San Francisco' };for (name in myObject) {trace ("myObject."+ name + " = " + myObject[name]);}
此示例的输出如下所示:
myObject.name = TaramyObject.age = 27myObject.city = San Francisco
下面的示例将 typeof 运算符与 for..in 一起使用来迭代特定类型的 child:
for (name in my_mc) {if (typeof (my_mc[name]) = "movieclip") {trace ("I have a movie clip child named " + name);}}
下面的示例枚举影片剪辑的子级,并将每个子级发送到其各自时间轴的第 2 帧。RadioButtonGroup 影片剪辑是一个父级,它具有多个子级:_RedRadioButton_、_GreenRadioButton_ 和 _BlueRadioButton。
for (var name in RadioButtonGroup) {RadioButtonGroup[name].gotoAndStop(2);}
![]() ![]() | |