Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   параметры и аргументы функции (http://www.flasher.ru/forum/showthread.php?t=172313)

jediff 06.12.2011 16:20

параметры и аргументы функции
 
Всем пивет. Пpошу прощения, вопрос ну наверное очень уж нубский. Прошу помочь понять что является "параметр в функции" а что "аргумент" на примере данном ниже :

Код AS3:

function testF(dy:Number, rotatie:int = 45):void
{
  testClip.y = dy; // testClip - объект на сцене
  testClip.rotation = rotatie;
}
 
 
testF(10);


Inet_PC 06.12.2011 16:25

а это не одно и тоже? Не? Поправьте, если я не прав.

jediff 06.12.2011 16:31

даже так
просто читаю тут одну зарубежную литературку на английском и возможно что то не так перевёл но о том что это слова синонимы не говорилось, была написано так что как будто это разные вещи.
Буду знать, но тогда что в функции которая выше есть параметр/аргумент - имя функции тоесть "dy"?

Inet_PC 06.12.2011 16:35

Имя функции testF, аргументы функции: dy и rotaie.

ProxyGreen 06.12.2011 17:25

Есть статья специальная на википедии.

expl 06.12.2011 20:35

если правильно статью понял:
Функция testF с параметрами dy и rotatie принимает в качестве аргумента 10?

Aquahawk 06.12.2011 20:52

параметр и аргумент это одно и тоже.
У параметра(он же аргумент) есть имя и значение. У этой функции есть два параметра (они-же два аргумента), называются они dy и rotatie. Когда мы будем эту функцию вызывать, вот так например
Код AS3:

testF(10, 15);

мы передадим ей два значения, 10 и 15, внутри функции эти значения доступны по именам, в том порядке в котором они обозначены, т.е. dy будет содержать 10 а rotatie 15.
Эта функция хитрая, она имеет параметр по умолчанию, т.е. второй параметр ей передавать не обязательно, она сама подставит туда заранее определённое значение.
Код AS3:

rotatie:int = 45

в заголовке обозначает что если функцию вызвать с одним параметром(аргументом), вот так
Код AS3:

testF(33);

внутри функции параметров будет два, один который передали: dy и сожержать он будет 33, и второй, хотя его не передавали, rotatie и содержать будет 45. Это программист когда писал эту функцию, задал такое значение, называется "оп умолчанию", т.е. если его явно не указали, функция возьмёт то, что указано в её сигнатуре(она же заголовок, это сторока function testF(dy:Number, rotatie:int = 45):void)
совсем не передавать параметров этой функции нельзя, потому что для первого параметра не задано значение по умолчанию.
Код AS3:

testF();

будет ошибка.

Добавлено через 1 минуту
PS: возможно я не очень точно оценил ваш уровень владения AS3 и расписал слишком подробно.

jediff 06.12.2011 21:01

нет всё как хотелось .Большое спасибо. теперь многое понятно.

Добавлено через 43 минуты
еще вопрос
в коде который дал я всего 2аргумента.
могу ли я всунуть туда 3 аргумент и 4 и 5 и так далее, или максимум 2 а если хочу больше то параметр rest...?

i.o. 06.12.2011 22:09

Передаем параметры. Принимаем аргументы.

Aquahawk 06.12.2011 22:33

i.o. Никогда так не отличал их. Только что спросил знакомого, он тоже никогда не различал, и не слышал чтобы кто-то различал.

i.o. 06.12.2011 22:56

Ну вот вики различает. Собственно я извлек основную мысль и выразил в двух фразах :)


Часовой пояс GMT +4, время: 01:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.