start page | rating of books | rating of authors | reviews | copyrights

Book HomeActionScript: The Definitive GuideSearch this book

8.4. The for Loop

A for loop is essentially synonymous with a while loop but is written with more compact syntax. Most notably, the loop header can contain both initialization and update statements in addition to the test expression.

Here's the syntax of the for loop:

for (initialization; condition; update) {
  substatements
}

The for loop places the key components of a loop tidily in the loop header, separated by semicolons. Before the first iteration of a for loop, the initialization statement is performed (once and only once). It is typically used to set the initial value of an iterator variable. As with other loops, if condition is true, substatements are executed. Otherwise, the loop ends. At the end of each loop iteration, the update statement is executed, before condition is tested again to see if the loop should continue. Here's a typical for loop that simply counts from 1 to 10:

for (var i = 1; i <= 10; i++) {
  trace("Now serving number " + i);
}

It's easier to understand how a for loop works when you see its equivalent constructed using the while loop syntax:

var i = 1;
while (i <= 10) {
  trace("Now serving number " + i);
  i++;
}

Once you're used to the for syntax, you'll find it saves space and allows for easy scanning of the loop's body and controls.

8.4.1. Multiple Iterators in for Loops

If we want to control more than one factor in a loop, we may optionally use more than one iterator variable. A while loop with multiple iterators may look like this:

var i = 1;
var j = 10;
while (i <= 10) {
  trace("Going up " + i);
  trace("Going down " + j);
  i++;
  j--;
}

The same effect can be achieved in a for statement using the comma operator:

for (var i = 1, j = 10; i <= 10; i++, j--) {
  trace("Going up " + i);
  trace("Going down " + j);
}


Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.