EasyManua.ls Logo

MACROMEDIA FLASH MX 2004 - ACTIONSCRIPT - Page 44

MACROMEDIA FLASH MX 2004 - ACTIONSCRIPT
816 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
44 Chapter 2: ActionScript Basics
As another example, the variable inValue contains a primitive value, 3, so the actual value is
passed to the
sqrt() function and the returned value is 9:
function sqrt(x){
return x * x;
}
var inValue = 3;
var out = sqrt(inValue);
The value of the variable inValue does not change.
The object data type can contain such a large and complex amount of information that a variable
with this type doesnt hold the actual value; it holds a reference to the value. This reference is like
an alias that points to the contents of the variable. When the variable needs to know its value,
the reference asks for the contents and returns the answer without transferring the value to
the variable.
The following is an example of passing by reference:
var myArray = ["tom", "josie"];
var newArray = myArray;
myArray[1] = "jack";
trace(newArray);
The above code creates an Array object called myArray that has two elements. The variable
newArray is created and is passed a reference to myArray. When the second element of myArray is
changed, it affects every variable with a reference to it. The
trace() action sends tom, jack to
the Output panel.
In the following example,
myArray contains an Array object, so it is passed to function
zeroArray() by reference. The zeroArray() function changes the content of the array
in
myArray.
function zeroArray (theArray){
var i;
for (i=0; i < theArray.length; i++) {
theArray[i] = 0;
}
}
var myArray = new Array();
myArray[0] = 1;
myArray[1] = 2;
myArray[2] = 3;
zeroArray(myArray);
The function zeroArray() accepts an Array object as a parameter and sets all the elements of
that array to 0. It can modify the array because the array is passed by reference.

Table of Contents

Related product manuals