При вызове функции подставляйте именно фактические параметры, а не формальные, использованные в объявлении функции.
Вот пример вызова объявленной нами выше функции
d = divide(3, 2);
Здесь мы подставили в выражение вызова функции фактические параметры — константы 3 и 2.
s = 4* divide (х, r) + у;
А здесь мы выполняем вызов функции с переменными в качестве фактических параметров.
Если функция не возвращает результата, то она вызывается вот так:
initVars (1, 2, 3, 6);
Более того, таким образом можно вызвать и функцию, возвращающую результат, который в этом случае будет отброшен. Такой способ вызова может быть полезен, если результат, возвращаемый функцией, не нужен для работы сценария.
При вызове функции простым указанием ее имени будет вызвана функция уровня клипа. Если же функции с этим именем не будет найдено, Flash вызовет глобальную функцию с таким же именем (если она есть). Чтобы вызвать функцию, находящуюся в другом клипе, нужно, как и в случае с переменной, указать имя этого клипа перед именем функции, отделив его точкой, например:
someClip.initVars(1, 2, 3, 6);
Рекурсия
И еще один важный вопрос, связанный с вызовом функций.
Мы уже узнали, что функции могут вызывать другие функции, конечно, если те уже определены. Но функции могут также вызывать и сами себя. Такой прием программирования называется
Если в теле функции написать команду ее вызова, то функция будет вызывать себя до бесконечности (так называемая
Приведем пример функции, написанной специально для применения ее в рекурсии:
function factorial (а) {
if (а == 0) {
return 1;
else
return (a * factorial(a — 1));
}
Эта функция вычисляет факториал числа а, переданного ей в качестве параметра. Она рекурсивно вызывает сама себя для того, чтобы получить факториал числа
Массивы
Мы уже довольно много знаем о переменных и работе с ними. Но наши знания все еще неполны. Так, мы ничего пока не знаем о массивах — особом способе хранения данных, доступном в ActionScript. Давайте же выясним, что это такое.
Создание массивов и работа с ними
Нумерация элементов массива начинается с нуля.
Массивы идеально подходят в тех случаях, когда нужно хранить в одной переменной упорядоченный набор данных. Ведь массив фактически представляет собой одну переменную.
Чтобы создать массив, нужно просто присвоить любой переменной список его элементов, разделенных запятыми и заключенных в квадратные скобки:
var someArray;
someArray = [1, 2, 3, 4];
Здесь мы создали массив, содержащий четыре элемента, и присвоили его переменной
а = massive [2];
В данном примере мы получили доступ к третьему элементу массива. (Нумерация элементов массива начинается с нуля — помните об этом!)
Определять сразу все элементы массива необязательно:
someArray2 = [1, 2, 4];
Здесь мы пропустили третий элемент массива, и он остался неопределенным (т. е. будет содержать значение
Если будет нужно, мы легко сможем добавить к массиву еще один элемент, просто присвоив ему требуемое значение. Вот так:
someArray[4] = 9;
При этом будет создан новый, пятый по счету, элемент массива с индексом 4 и значением 9.
Можно даже сделать так:
someArray[7] = 9;
В этом случае будут созданы четыре новых элемента, и восьмой элемент получит значение 9. Пятый, шестой и седьмой останутся неопределенными (