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 e folosit pentru a adauga liste cu definitii in element <dl>?
<dt> <dd> <li>
<dl>
 <dt>HTML</dt>
  <dd> - Hyper Text Markup Language</dd>
  <dd> - Limbaj de cod pentru pagini web</dd>
</dl>
Care proprietate CSS poate sa ascunda un element in pagina, lasand spatiu gol in locul lui?
display position visibility
#id {
  visibility: hidden;
}
Indicati evenimentul declansat cand se apasa clic pe un obiect in pagina.
onclick onmouseover onfocus
document.getElementById("id").onclick = function(){
  alert("http://www.MarPlo.net/");
}
Indicati variabila PHP ce contine datele din $_GET, $_POST si $_COOKIE.
$_SESSION $_GET $_REQUEST
if(isset($_REQUEST["id"])) {
  echo $_REQUEST["id"];
}
Care din urmatoarele cuvinte reprezinta un Verb?
lighting believe path
I believe in my path.
- Eu cred in calea mea.
Care din urmatoarele cuvinte reprezinta un Verb?
creer camino iluminaciĆ³n
creer = a crede; camino = cale /drum; iluminaciĆ³n = iluminare
Functii - Creare si Utilizare

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (56128)
  2. Definire Variabile si Constante (1320)
  3. Download carti electronice si programe pentru Limba Engleza (17559)
  4. Verbe modale - Modal verbs - CAN, COULD, MAY, MIGHT, MUST (27406)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (52768)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (3734)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (3483)
  3. Gramatica limbii engleze - Prezentare Generala (2830)
  4. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (2411)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (2027)