Областью видимости переменной называется область, в которой эта переменная "известна" и, соответственно, может быть обработана. В ActionScript существует три типа области видимости переменных: локальная (Local), линейки мувиклипа (Timeline) и глобальная (Global).
1) |
Локальные переменные доступны в их собственном блоке кода (они находятся между фигурными скобками).
|
2) |
Переменные линейки мувиклипа доступны на любой шкале времени, если использовать целевой путь.
|
3) |
Глобальные переменные доступны везде, даже если не использовать целевой путь.
|
Для объявления локальной переменной внутри скрипта используется команда var
. Например, переменные i
и j
часто используют в счетчиках цикла. В следующем примере переменная i
используется как локальная. Она существует только внутри функции 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;
}
}
}
Локальные переменные также полезно использовать для предотвращения коллизии (пересечения) имен переменных. Например, если переменная name
используется как локальная, ее можно использовать в одном контексте для хранения имен пользователей, а в другом - для хранения имен экземпляров мувиклипов. Так как эти переменные буду запускаться с различными областями видимости, коллизии имен не произойдет.
Хорошей практикой является использование локальных переменных в теле функции так, чтобы функция могла бы действовать как независимая часть кода. Локальные переменные изменяются только в их собственном блоке кода. Если выражение в функции использует глобальную переменную, то ее значение может изменить что-либо, находящееся и за пределами этой функции.