Переменные
Переменные
Для того чтобы успешно обрабатывать данные, сценарию нужно где-то их хранить. Под хранение данных выделяются специальные участки памяти, называемые переменными. Сценарий может обращаться к этим участкам памяти по имени, помещать в них данные любого типа и читать их.
В начале этой главы мы кое-что узнали о переменных. Сейчас настало время поговорить о них подробнее.
Именование переменных
Как мы уже знаем, каждая переменная должна иметь имя, которое однозначно ее идентифицирует. Другими словами, не должно быть двух переменных с одним и тем же именем (об исключениях из этого правила поговорим попозже). Также не допускается совпадение имени переменной с ключевым словом языка ActionScript.
В имени переменной могут присутствовать латинские и русские буквы, цифры, символы $ (знак доллара) и _ (знак подчеркивания), причем первый символ имени должен быть либо буквой, либо знаком доллара или подчеркивания. Например, FrameNumber, _link, ИмяПользователя — правильные имена переменных, a 67 8vasya и имя пользователя — неправильные.
Нужно сразу сказать, что язык ActionScript чувствителен к регистру символов, которыми набраны имена переменных. Это значит, что framenumber и FrameNumber — разные переменные.
При выборе имен переменных специалисты фирмы Macromedia рекомендуют следовать одному простому правилу: имя должно быть "говорящим". Это значит, что имя должно отражать назначение переменной. Например, переменную, в которой хранится номер кадра, лучше всего назвать frameNumber — так будет сразу понятно, зачем она нужна. Но не стоит слишком усердствовать: имена типа lastVisitedFormFrameNumber очень трудно набирать. Для временных переменных (хранящих данные, необходимые в данный конкретный момент) лучше всего брать однобуквенные имена: i, a, x, y и т. п.
Объявление переменных
Перед использованием переменной в коде сценария обязательно нужно выполнить ее объявление. Для этого используется оператор объявления переменной var, после которого указывается имя переменной. Вот так:
var х;
Теперь объявленной переменной можно присвоить какое-либо значение:
х = 1234;
и использовать в сценарии:
у = х / 2 + 10;
Значение переменной также можно присвоить прямо при ее объявлении:
var х = 1234;
Нужно сказать, что объявлять переменные с помощью оператора var не обязательно. Мы можем просто присвоить переменной какие-либо значение, и Flash сам ее создаст. Просто явное объявление переменных оператором var считается хорошим стилем программирования.
Внимание!
Если обратиться к переменной, еще не получившей никакого значения, она вернет значение undefined.
Область видимости переменных
Теперь нам нужно поговорить об одном важном моменте в "жизни" любой переменной. Это область ее видимости, определяющая, какие выражения могут получить доступ к этой переменной, а какие — не могут.
Пусть мы объявили переменную в сценарии, привязанном к кадру анимации какого-либо клипа или внешней анимации. В этом случае к данной переменной получат доступ все сценарии, привязанные к кадрам, кнопкам и вложенным клипам, содержащимся в этом клипе (фильме). Разумеется, эту переменную нужно сначала объявить, а потом уже к ней обращаться.
А вот сценарии, содержащиеся во вложенных в эту анимацию клипах, не смогут получить доступ к этой переменной. Также ее не смогут использовать сценарии, находящиеся во внешнем по отношению к текущему клипе. Если же мы все-таки попытаемся извлечь значение этой переменной из одного из таких сценариев, то получим значение undefined, с которым каши не сваришь.
Такие переменные называются переменными уровня клипа. Говорят, что такие переменные "видны" только в "своем" клипе.
Но что делать, если нам все же нужно обратиться к переменной, находящейся в другом клипе? Да просто указать имя этого клипа перед именем переменной, разделив их точкой. Вот так:
someClip.someVar = 0;
Глобальные переменные "видны" абсолютно из всех сценариев, находящихся в данном фильме. Они объявляются с помощью модификатора (особого ключевого слова, изменяющего действие какой-либо команды ActionScript) _giobal, который добавляется перед именем переменной и отделяется от него точкой:
_global.someVar = 0;
Существует еще один тип видимости переменных — локальные переменные. Мы поговорим о них, когда начнем изучение функций.
Выше говорилось, что каждая переменная должна иметь уникальное имя, по которому к ней можно будет обратиться. Есть одно исключение из этого правила: переменные, имеющие разную область видимости, могут иметь одинаковые имена. При этом обращение происходит к переменной, имеющей более "узкую" область видимости.
Давайте рассмотрим такой пример:
_global.someVar: String = "Value";
var someVar: Integer = 3;
…
s = someVar;
Мы объявили две переменные someVar, одну — уровня клипа, другую — глобальную, и присвоили им разные значения. Если мы теперь запросим значение переменной someVar, то переменной s будет присвоено число 3 — значение переменной someVar уровня клипа как имеющей более "узкую" область видимости. Глобальная переменная someVar будет "замаскирована".
Внимание!
Всегда проверяйте, к какой переменной вы обращаетесь. Ошибки доступа к переменным — самые трудноулавливаемые.
Но как получить значение глобальной переменной someVar? Очень просто — нужно использовать модификатор _giobal:
s = _global.someVar;
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Функции и переменные. Локальные переменные
Функции и переменные. Локальные переменные Объявленные ранее функции создают внутри своего тела собственные переменные. Это так называемые локальные переменные. Такие переменные доступны только внутри тела функции, в котором они объявлены. При завершении выполнения
1.7 Переменные
1.7 Переменные До сих пор мы имели дело с параметрами, передававшимися команде в виде аргументов, следующих за именем команды. Команда интерпретирует аргументы исходя их их значений (так, большинство команд считает аргумент, начинающийся с дефиса, ключом) и их позиции (так,
Переменные
Переменные Переменные играют для аргументов команд примерно такую же роль, что и псевдонимы — для команд. То есть избавляют от необходимости мрачного ввода повторяющихся последовательностей символов. Конечно, это — далеко не единственное (а может быть, и не главное)
Переменные
Переменные В начале этой главы мы кое-что узнали о переменных. Сейчас настало время обсудить их детальнее. Именование переменных Как мы уже знаем, каждая переменная должна иметь имя, которое однозначно ее идентифицирует. Об именах переменных стоит поговорить
1.3. Переменные
1.3. Переменные Если вы хотите узнать, что нравится Джону, то было бы утомительно спрашивать «Нравятся ли Джону книги?», «Нравится ли Джону Мэри?» и так далее, получая каждый раз ответ да или нет. Более разумно обратиться к Пролог-системе с просьбой назвать что-нибудь, что
1.7 Переменные
1.7 Переменные До сих пор мы имели дело с параметрами, передававшимися команде в виде аргументов, следующих за именем команды. Команда интерпретирует аргументы исходя их их значений (так, большинство команд считает аргумент, начинающийся с дефиса, ключом) и их позиции (так,
Переменные
Переменные Переменные это просто «контейнеры», которые содержат некоторые значения. Создавать их нужно по многим причинам. Вам нужно будет как-то сохранять вводимые пользователем данные, аргументы или числовые величины. Например:#!/bin/bashx=12echo ”Значение переменной x -
2.1.2. Переменные
2.1.2. Переменные Переменные — это цепочки, состоящие из букв, цифр и символов подчеркивания. Они начинаются с прописной буквы или с символа подчеркивания:XРезультатОбъект2Список_участниковСписокПокупок_x23_23Если переменная встречается в предложения только один раз, то