Understanding the ActionScript Language > About variables > Scoping a variable |
![]() ![]() ![]() |
Scoping a variable
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:
![]() |
Local variables are available within their own block of code (delineated by curly braces). |
![]() |
Timeline variables are available to any Timeline if you use a target path. |
![]() |
Global variables are available to any Timeline even if you do not use a target path. |
You can use the var
statement to declare a local variable inside a 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 only exists 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 collisions, which can cause errors in your movie. 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 collision.
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 could change its value, which would change the function.
![]() ![]() ![]() |