ActionScript 3: Функции

Функции в ActionScript 3.0 , как и в любом другом языке, являются обязательным и общепринятым инструментом в программировании. При создании возможности применения функций возник новый подход в программировании, называемый «процедурное программирование».

В этом уроке рассмотрим следующие основные особенности использования функций в ActionScript 3.0:

  1. Что такое функция?
  2. Параметры функции и передача значений
  3. Необязательные параметры (заданные по умолчанию)
  4. Возврат значения функцией
  5. Использование функции в качестве переменной(подстановка в выражении)

Что такое функция?

Функция — это блок кода, ограниченный фигурными скобками, который можно использовать повторно, когда это необходимо. Функция используется для экономии времени, так как повторяющиеся задачи можно написать только раз, а затем вызывать уже сколько нужно. Это упорядочивает код так, чтобы он был весь написан в определенном месте, где может быть легко обновлен без необходимости изменять все вручную каждый раз, когда используется. Правилом хорошего тона считается, чтобы функция выполняла только одну задачу и имела осмысленное имя.

Вот пример простой функции:

function calc_numbers(){
  trace(7+3); 
}

Давайте подробнее рассмотрим синтаксис функции: слово function является ключевым, после него идет имя (идентификатор) функции calc_numbers, затем идут круглые скобки, дальше открывается сам блок функции, который содержится в фигурных скобках, и в котором описывает код функции.

Чтобы проверить функцию из примера, сначала опишите ее в коде, а затем вызовите следующим образом:

calc_numbers();

Запустите приложение выбрав в главном меню «File -> Publish Preview -> Flash» (или нажмите клавиши ctrl + enter).

Запуск приложения AdobeFlash

В панели 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: Хитрости работы с массивами


ActionScript 3.0: Переменные, типы данных, классы, свойства и методыActionScript 3.0: Переменные, типы данных, классы, свойства и методы


Один комментарий на “ActionScript 3: Функции

  1. Начинаю изучать программирование. Как раз хотел про функции узнать. Спасибо за статью, все по теме, ничего лишнего.

Комментировать

Почта не публикуется.Обязательные поля отмечены *