![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
A variable's scope refers to the area in which the variable is known and can be referenced. There are three types of variable scope in ActionScript:
Note: ActionScript 2.0 classes that you create support public, private, and static variable scopes. For more information, see Controlling member access and Creating class members.
To declare local variables, use the var
statement inside the body of a function. A local variable is scoped to the block and expires at the end of the block. A local variable not declared within a block expires at the end of its script.
For example, the variables i
and j
are often used as loop counters. In the following example, i
is used as a local variable; it exists only inside the function makeDays()
:
function makeDays() { var i; for( i = 0; i < monthArray[month]; i++ ) { _root.Days.attachMovie( "DayDisplay", i, i + 2000 ); _root.Days[i].num = i + 1; _root.Days[i]._x = column * _root.Days[i]._width; _root.Days[i]._y = row * _root.Days[i]._height; column = column + 1; if (column == 7 ) { column = 0; row = row + 1; } } }
Local variables can also help prevent name conflicts, which can cause errors in your application. For example, if you use name
as a local variable, you could use it to store a user name in one context and a movie clip instance name in another; because these variables would run in separate scopes, there would be no conflict.
It's good practice to use local variables in the body of a function so that the function can act as an independent piece of code. A local variable is only changeable within its own block of code. If an expression in a function uses a global variable, something outside the function can change its value, which would change the function.
You can assign a data type to a local variable when you define it, which helps prevent you from assigning the wrong type of data to an existing variable. For more information, see Strict data typing.
Timeline variables are available to any script on that Timeline. To declare Timeline variables, initialize them on any frame in the Timeline. Be sure to initialize the variable before trying to access it in a script. For example, if you put the code var x = 10;
on Frame 20, a script attached to any frame before Frame 20 cannot access that variable.
Global variables and functions are visible to every Timeline and scope in your document. To create a variable with global scope, use the _global
identifier before the variable name, and do not use the var =
syntax. For example, the following code creates the global variable myName
:
var _global.myName = "George"; // syntax error _global.myName = "George";
However, if you initialize a local variable with the same name as a global variable, you don't have access to the global variable while you are in the scope of the local variable:
_global.counter = 100; counter++; trace(counter); // displays 101 function count(){ for( var counter = 0; counter <= 10 ; counter++ ) { trace(counter); // displays 0 through 10 } } count(); counter++; trace(counter); // displays 102
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |