do { substatements } while (condition);
The keyword do begins the loop, followed by the substatements of the body. On the interpreter's first pass through the do-while statement, substatements are executed before condition is ever checked. At the end of the substatements block, if condition is true, the loop is begun anew and substatements are executed again. The loop executes repeatedly until condition is false, at which point the do-while statement ends. Note that a semicolon is required following the parentheses that contain the condition.
Obviously, do-while is handy when we want to perform a task at least once and perhaps subsequent times. In Example 8-2 we duplicate a series of twinkling-star movie clips from a clip called starParent and place them randomly on the Stage. Our galaxy will always contain at least one star, even if numStars is set to 0.
var numStars = 5; var i = 1; do { // Duplicate the starParent clip duplicateMovieClip(starParent, "star" + i, i); // Place the duplicated clip randomly on Stage _root["star" + i]._x = Math.floor(Math.random( ) * 551); _root["star" + i]._y = Math.floor(Math.random( ) * 401); } while (i++ < numStars);
Did you notice that we sneakily updated the variable i in the test expression? Remember from Chapter 5, "Operators", that the post-increment operator both returns the value of its operand and also adds one to that operand. The increment operator is very convenient (and common) when working with loops.
Copyright © 2002 O'Reilly & Associates. All rights reserved.