Curs Flash

O functie este o bucata de cod, sau un set de instructiuni care sunt executate doar atunci cand respectiva functie este apelata.
Functiile fac lucruri sa se intample doar atunci cand se vrea asta.
O alta utilitate a Functiilor este aceea ca ajuta la divizarea mai multor sarcini pe care trebuie sa le faca un program.
O functie poate contine mai multe instructiuni si comenzi care ulterior pot fi utilizate usor si de mai multe ori prin apelarea functiei respective.
Daca un program necesita multe linii de cod, folosind functiile putem imparti codul in parti mai mici pe care le putem utiliza separat acolo unde este nevoie.
Pot fi doua grupe generale de functii:

1. Creare (definire) Functii

O functie se creaza utilizand cuvantul special function (functioneaza la fel ca "var" pt. variabile), urmat de numele ei si corpul functiei.
Sintaxa pentru a crea o functie are 2 variante:


- Forma simpla, generala
- Forma complexa (sau completa) - "numeFunctie" este numele functiei care e folosit pentru apelarea ei. Respecta aceleasi reguli ca si la numele de creare a variabilelor.
- "param1, param2, ..." sunt parametri ei (variabile) folosite de functie si a caror valoare este transmisa si preluata cand e apelata. Parametrii nu sunt obligatorii, o functie poate fi definita si fara parametri, dar se pastreaza parantezele rotunde. Sau pot fi si valori fixe, ex.: "(param1, "un_sir", 8)".
- "tip1", "tip2", etc., de la forma complexa, definesc tipul de variabila a parametrului respectiv (de ex.: param:String, "param" este parametrul, "String" reprezinta tipul de date pe care-l poate contine).
- "Tip", de la forma complexa (cel dupa paranteze rotunde), defineste tipul de data pe care-l va returna functia (precum "tipul" de date al unei variabile). Cand functia nu are o declaratie "return" se foloseste "void" ca tip general.
Oricare din "tip1", "tip2", "Tip", pot fi omise.

Iata un exemplu cu o functie simpla.
// Se declara o functie, cu numele "salut"
function salut(mesaj:String)
{
  trace(mesaj);
}
- Cand functia este apelata, dupa cum puteti vedea in continuare, se executa codul dintre acoladele ei.

2. Apelare Functii

Dupa ce a fost creata o functie, pentru a fi utilizata ea trebuie apelata.
Apelarea unei functii se face utilizand numele ei.

• O functie fara parametru se apeleaza astfel:
                numeFunctie();
• O functie care contine parametri (denumita si "modulara") se apeleaza in felul urmator:
                numeFunctie(arg1, arg2, ...);
- unde "arg1, arg2, ..." sunt argumentele (variabile, valori, siruri) transmise functiei (conform cu numarul si ordinea parametrilor ale ei), care in general sunt folosite in codul din corpul functiei.

In locul unde este apelata o functie va fi executat codul din ea.
De exemplu, iata cum poate fi apelata functia declarata anterior:
// Se declara o functie, cu numele "salut"
function salut(mesaj:String)
{
  trace(mesaj);
}

salut("Bine ai venit");        // Se apeleaza functia, cu argumentul "Bine ai venit"
- La apelare, sirul "Bine ai venit" e transmis ca argument, functia il preia si-l retine in "mesaj" (functioneaza ca si o variabila), care e transmis la codul dintre acoladele ei; aici la "trace(mesaj)", care va afisa in Output "Bine ai venit".

O functie poate fi apelata de mai multe ori. Acesta fiind principalul avantaj, ca, desi codul ei este scris o singura data, poate fi utilizat de oricate ori e necesar.
- Cum ar fi la exemplu anterior:
            salut("Bine ai venit");
            salut("Drum bun");

3. Utilizare return

Pentru ca o functie sa returneze special o valoare, un rezultat, foloseste instructiunea return. Aceasta specifica valoarea pe care o returneaza functia cand este apelata.
Iata un exemplu din care puteti intelege modul de aplicare a instructiunii return:

// Se declara o functie, cu numele "suma" si 2 parametri: "a", "b"
function suma(a:Number, b:int)
{
  // Se adauga suma lui 'a' si 'b' intr-o variabila 'c'
  var c:Number = a+b;

  return c;         // Functia returneaza valoarea lui 'c'
}
- La apelare, de ex.: suma(7, 8); va returna valoarea lui "c = 7+8" (15).

return se poate utiliza si in functii fara parametru.

• Valoare returnata de o functie, care foloseste "return", poate fi atribuita direct unei variabile; dupa cum este prezentat in exemplul urmator.
// Se declara o functie, cu numele "suma" si 2 parametri: "a", "b"
function suma(a:Number, b:int)
{
  // Se adauga suma lui 'a' si 'b' intr-o variabila 'c'
  var c:Number = a+b;

  return c;         // Functia returneaza valoarea lui 'c'
}

// Se apeleaza functia "suma" ca valoare a unei variabile "d"
var d:Number = suma(7.5, 8);

trace(d);         // Verificare rezultat stocat in "d" (15.5)
- In Output va apare "15.5", valoarea variabilei "d" care este cea returnata de functia apelata.

Definire tip date returnate

Cand se defineste un tip de data pentru o variabila, constanta sau parametru, cu doua-puncte (:) dupa numele elementului, indica programului Flash ce tip de informatie ar trebui stocata in acel element. La fel se poate proceda si cu functiile care folosesc declaratia "return".
Caracterul doua-puncte (:) si tipul se scriu dupa parantezele rotunde ale functiei, forma generala fiind:

- "Tip" poate fi orice tip de data folosit pt. variabile (String, Number, int, void, *, etc.) - De exempu:
Iata exemplul anterior, de data aceasta cu specificarea tipului de data returnat de functie.
// Se declara o functie, cu numele "suma" si 2 parametri: "a", "b"
function suma(a:Number, b:int):int
{
  // Se adauga suma lui 'a' si 'b' intr-o variabila 'c'
  var c:Number = a+b;

  return c;         // Functia returneaza valoarea lui 'c'
}

// Se apeleaza functia "suma" ca valoare a unei variabile "d"
var d:Number = suma(7.5, 8);

trace(d);         // Verificare rezultat stocat in "d" (15)
- ":int" dupa parantezele rotunde seteaza (si forteaza) ca tipul de data returnat sa fie "Integer" (numar natural fara virgula).
- Se observa ca desii, comform argumentelor de la apelare, "c = 7.5+8" da valoarea 15.5, functia returneaza variabilei "d" valoarea 15, (partea din numar fara virgula, dupa tipul "int" specificat).

- Fisierele FLA cu exemplele din aceasta lectie pot fi descarcate de la:
  1. Functii - apelare
  2. Functii - return
  3. Functii - return Tip

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Functii - Creare si Utilizare

Last accessed pages

  1. Download carti electronice si programe pentru Limba Engleza (43198)
  2. Titluri, Paragrafe, Un nou rand, Linie orizontala (32360)
  3. OOP - Clase si Obiecte - Creare Clasa (6765)
  4. Verbe ca si Gustar (1846)
  5. Gramatica limbii spaniole. Indrumator si prezentare generala (66723)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (767)
  2. Exercitii engleza - English Tests and exercises - Grammar (596)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (587)
  4. Gramatica limbii engleze - Prezentare Generala (580)
  5. Prezentul simplu - Exercitii si teste incepatori (504)