In the previous section we introduced several new terms. Let's look at these more formally, so that you'll understand them well when working with loops:
The statement or expression that defines one or more variables used in the test expression of a loop.
The condition that must be met in order for the substatements in the loop body to be executed (often called a condition or test, or sometimes, control).
The statements that modify the variables used in the test expression before a subsequent test. A typical update statement increments or decrements the loop's counter.
One complete execution of the test expression and statements in the loop body (sometimes referred to as one loop or one pass).
A loop that contains another loop, allowing you to iterate through some sort of two-dimensional data. For example, you might loop through each row in a column for all the columns in a table. The outer or top-level loop would progress through the columns, and the inner loop would progress through the rows in each column.
A variable whose value increases or decreases with each iteration of a loop, usually used to count or sequence through some data. Loop iterators are often called counters. Iterators are conventionally named i, j, and k, or sometimes x, y, and z. In a series of nested loops, i is usually the iterator of the top-level loop, j is the iterator of the first nested loop, k is the iterator of the second nested loop, and so on. You can use any variable name you like for clarity. For example, you can use charNum as the variable name to remind yourself that it indicates the current character in a string.
The block of statements that is executed when a loop's condition is met. The body may not be executed at all, or it may be executed thousands of times.
The portion of a loop that contains the loop statement keyword (while, for, do-while, or for-in) and the loop controls. The loop control varies with the type of loop. In a for loop, the control comprises the initialization, the test, and the update; in a while loop, the control comprises the test expression only.
A loop that repeats forever because its test expression never yields the value false. Infinite loops cause an error in ActionScript, as discussed later in this chapter under Section 8.6.3.