Функции в ActionScript 3.0 , как и в любом другом языке, являются обязательным и общепринятым инструментом в программировании. При создании возможности применения функций возник новый подход в программировании, называемый «процедурное программирование».
В этом уроке рассмотрим следующие основные особенности использования функций в ActionScript 3.0:
- Что такое функция?
- Параметры функции и передача значений
- Необязательные параметры (заданные по умолчанию)
- Возврат значения функцией
- Использование функции в качестве переменной(подстановка в выражении)
Что такое функция?
Функция — это блок кода, ограниченный фигурными скобками, который можно использовать повторно, когда это необходимо. Функция используется для экономии времени, так как повторяющиеся задачи можно написать только раз, а затем вызывать уже сколько нужно. Это упорядочивает код так, чтобы он был весь написан в определенном месте, где может быть легко обновлен без необходимости изменять все вручную каждый раз, когда используется. Правилом хорошего тона считается, чтобы функция выполняла только одну задачу и имела осмысленное имя.
Вот пример простой функции:
function calc_numbers(){
trace(7+3);
}
Давайте подробнее рассмотрим синтаксис функции: слово function является ключевым, после него идет имя (идентификатор) функции calc_numbers, затем идут круглые скобки, дальше открывается сам блок функции, который содержится в фигурных скобках, и в котором описывает код функции.
Чтобы проверить функцию из примера, сначала опишите ее в коде, а затем вызовите следующим образом:
calc_numbers();
Запустите приложение выбрав в главном меню «File -> Publish Preview -> Flash» (или нажмите клавиши ctrl + enter).
В панели output будет выведен результат вычисления. Если написать функцию больше двух раз, то и результат будет показан два раза.
Параметры функции и передача значений
В функцию можно передавать значения, если описать ей параметры, на основании которых она будет производить какие-либо действия. Предположим, что нам нужно, чтобы функция, как и в предыдущем примере, производила сложения двух чисел, только на основании передаваемых параметров.
function calc_numbers(num1:int, num2:int){
trace(num1+num2);
}
Как видите, в круглых скобках появились два параметра num1 и num2, которые имеют тип int, указанный после двоеточия. Тип определяет, какие значения может принимать функция, в данном примере это целочисленный тип, передача значений другого типа может вызывать ошибку выполнения программы.
Теперь функцию можно вызывать так:
calc_numbers(3, 7);
Необязательные параметры
Если вы хотите, чтобы в функции уже были заданы параметры, в случае, если параметр может не передаваться, то можно задать его сразу при описании функции:
function calc_numbers(num1:int, num2:int=7){
trace(num1+num2);
}
В примере выше, если при вызове функции не указывать второй параметр, то по умолчанию будет использоваться значение 7. Если в качестве второго параметра подставить другое число при вызове функции, то будет использоваться именно это передаваемое значение, а не значение, заданное по умолчанию.
Параметры с указанными значениями (необязательные) должны находиться только после обязательных параметров, и после них (необязательных параметров) можно указывать только параметры с заданными значениями.
Возврат значения функцией
Допустим, нам нужно, чтобы значения передавались в функцию, там обрабатывались, а потом их результат возвращался. Функция может возвращать значение определенного типа, если указать ей это в описании.
Пример:
function calc_numbers(num1:int, num2:int): int{
var result:int;
result = num1 + num2;
return result;
}
Рассмотрим код: после круглой скобки идет двоеточие и указан тип int. После вызова фунции и ее обработки, возвращаемое значение будет иметь тип int, слово return указывает на возвращаемое значение, это может быть либо переменная (как предыдущем примере), либо выражение:
function calc_numbers(num1:int, num2:int): int{
return num1 + num2;
}
Использование функции в качестве переменной
В основной программе функцию можно использовать как переменную в качестве значения:
trace(calc_numbers(3, 7));
Сначала будет вызвана функция, в которую будут переданы параметры, затем управление перейдет в эту функцию, где будет высчитано результатирующее значение и возвращено в основной код. После чего запустится функция trace(), которая выведет сообщение в панели output.
Можно сначала вызвать функцию, передать возвращаемое значение какой-либо переменной и подставить эту переменную в функцию trace():
var value:int = calc_numbers(3, 7);
trace(value);
Также функция это подпрограмма, которая находится в основной программе. Следуя этому утверждению, можно также писать одни функции в другой функции. Но это уже продвинутые особенности использования функции, которые мы рассмотрим в следующих уроках.
Если вам понравился этот урок, то сохраните его в закладках социальных сетей (значки ниже). Не стесняйтесь задавать вопросы в комментариях и предлагать свои примеры по данной теме.
Смотрите также:
ActionScript 3: Хитрости работы с массивами
ActionScript 3.0: Переменные, типы данных, классы, свойства и методы
Начинаю изучать программирование. Как раз хотел про функции узнать. Спасибо за статью, все по теме, ничего лишнего.