Book HomeActionScript: The Definitive GuideSearch this book

5.2. The Assignment Operator

We've already used the assignment operator frequently. It can place a value into a variable, array element, or object property. Assignment operations take the form:

identifier = expression

The identifier is the variable, array element, or object property into which we want to place our value. The expression represents the value (i.e., data) that we want to store. For example:

x = 4;                  // Assign 4 to the variable x
x = y;                  // Assign the value of y to the variable x
name = "dj duong";      // Assign a string to the variable name
products[3] = "Flash";  // Assign a string to the 4th element of products

// Assign a number to the area property of square
square.area = square.width * 2;

We may also perform multiple assignment operations at once, like this:

x = y = 4;  // Set both x and y to 4

Remember that assignment operations have right-to-left associativity, so 4 is assigned first to y then the value of y (which is now 4) is assigned to x.

5.2.1. Combining Operations with Assignment

Assignment operations are often used to set a variable's new value based in part on its old value. For example:

counter = counter + 10;             // Add 10 to the current value of counter
xPosition = xPosition + xVelocity;  // Add xVelocity to xPosition
score = score / 2;                  // Divide score by two

ActionScript supports a shorthand version of assignment, called compound assignment that combines operators such as +, -, / with the assignment operator to form a single "calculate-while-assigning" operation. So, to combine addition with assignment we use +=. To combine division with assignment, we use /=. The previous examples, hence, can be written more succinctly with compound assignment operators as follows:

counter += 10;
xPosition += xVelocity;
score /= 2;

Refer to Table 5-1 for a list of the compound assignment operators.



Library Navigation Links

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