User Guide
Statements 197
for..in statement
for (variableIterant in object) { ]
statement(s);
}
Iterates over the properties of an object or elements in an array and executes the statement
for each property or element. Methods of an object are not enumerated by the
for..in
action.
Some properties cannot be enumerated by the
for..in action. For example, movie clip
properties, such as
_x and _y, are not enumerated. In external class files, static members are
not enumerable, unlike instance members.
The
for..in statement iterates over properties of objects in the iterated object's prototype
chain. Properties of the object are enumerated first, then properties of its immediate
prototype, then properties of the prototype's prototype, and so on. The
for..in statement
does not enumerate the same property name twice. If the object
child has prototype parent
and both contain the property
prop, the for..in statement called on child enumerates prop
from
child but ignores the one in parent.
The curly braces (
{}) used to enclose the block of statements to be executed by the for..in
statement are not necessary if only one statement will execute.
If you write a
for..in loop in a class file (an external AS file), then instance members are not
available for the loop, but static members are. However, if you write a
for..in loop in a FLA
file for an instance of the class, then instance members are available but static ones are not.
Availability: ActionScript 1.0; Flash Lite 2.0
Parameters
variableIterant:String - The name of a variable to act as the iterant, referencing each
property of an object or element in an array.
Example
The following example shows using for..in to iterate over the properties of an object:
var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"};
for (var prop in myObject) {
trace("myObject."+prop+" = "+myObject[prop]);
}
//output
myObject.firstName = Tara
myObject.age = 27
myObject.city = San Francisco