Изпратете запитване:
Полетата маркирани със звезда (*) са задължителни за попълване.
Vinaora Nivo SliderVinaora Nivo SliderVinaora Nivo Slider
1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Както беше показано в урока Предаване на параметри в ActionScript функции, променливите, които се намират вътре във функцията се явяват локални за нея, т. е. те са недостъпни извън функцията. Но много често на вас ще ви бъде необходимо да използвате резултатите от действието на тези функции във външния код. 

За да се реши тази задача трябва да се възползваме от способността на функциите да връщат данни. Това става много просто: в последният ред на функцията трябва да се включи ключовата дума return (върни), след това, след пробела се записва променливата, чието значение функцията трябва да върне.

За да използвате функция, връщаща данни, трябва да я извикате във вид на значение на променлива. Тази променлива ще съдържа връщаното от функцията значение, което може да бъде използвана както значението на всяка променлива. Например, ако функцията връща броят на продадените за деня продукти, тя трябва да бъде записана по следния начин:

var numItems:Number = getNumItems();

Значенията, връщани от функцията, могат да принадлежат на който и да е тип данни, както на най-простите (String, Number, Boolean), така и на сложните (Object, ActionScript Array или потребителски класове, създадени от вас). Типът на връщаните данни трябва обезателно да бъде указан след кръглите скобки. Обезателно проверете дали типът на данните, който сте указали съответства на действителния тип на връщаните данни. Ако няма съответствие, ще възникне грешка.

Връщане на данни от функция

Отворете панела Actions.

Запишете функцията, например:

function addNums(numToAdd1:Number, numToAdd2:Number)

След затварящите скоби поставете двоеточие и запишете типа на данните, който съответства на връщаното значение:

function addNums(numToAdd1:Number, numToAdd2:Number):Number

След това поставете отварящя и затваряща фигурна скоба:

function addNums(numToAdd1:Number, numToAdd2:Number):Number
{
}

Между фигурните скоби запишете инструкциите, които трябва да изпълнява функцията:

function addNums(numToAdd1:Number, numToAdd2:Number):Number
{
   var sum:Number = numToAdd1 + numToAdd2;
}

Запишете ключовата дума return и след празна позиция запишете името на променливата, чието значение функцията трябва да върне:

function addNums(numToAdd1:Number, numToAdd2:Number):Number
{
   var sum:Number = numToAdd1 + numToAdd2;
   return sum;
}

Веднага след функцията запишете променливите, които ще се предават на функцията като аргументи:

var num1:Number = 12;
var num2:Number = 24;

Завершите кода като декларирате променливата, която ще съдържа резултата от работата на вашия код:

var total:Number = addNums(num1, num2);

Проверете, като използвате метода trace Actionscript:

trace(total);

Натиснете Ctrl + Enterза да видите какво връща кода  ActionScript.

В окончателен вид кода в редактора на панела Actions трябва д аизглежда така:

Връщане на данни от функция

В прозореца Output се появява резултатът от работата на функцията.

Резултат от работата на функцията в ActionScript

Допълнителна информация

Не трябва да се записва нищо след инструкцията return освен затваряща фигурна скобка, защото това ще доведе до съобщение за грещка. Има само едно изключение - ако ключовата дума return се намира вътре в условен израз if-else, което ще бъде разгледано в урока «Използване на условни оператори else и else if». Макар, че и там в повечето случаи това правило не се нарушава.

Имате въпрос?

Потърсете отговор в нашите
Често Задавани Въпроси
или се свържете с нас

phone 0878 679 639
mail Пишете ни
skype AртСторм