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
Clic pe tag-ul care creaza celula in tabel.
<tr> <span> <td>
<table></tr>
  <td>Cell-1</td><td>Cell-2</td>
</tr></table>
Indicati proprietatea CSS care adauga o imagine pentru fundal
background-color background-image color
h3 {
  background-image: url("image.jpg");
}
Ce instructiune se foloseste la parcugerea elementelor unui Array?
for() [) object()
var arr = [1, "ab", "CoursesWeb.net"];
for(var i=0; i< arr.length; i++) { alert(arr[i]); };
Indicati functia PHP utilizata la parcurgerea elementelor unui Array asociativ.
for() foreach() if()
$arr =["k1"=>"v1", "k2"=>"v2", "k3"=>"v3");
foreach($arr AS $k => $v) { echo "<br/>". $k ." - ". $v; }
Care din urmatoarele cuvinte este sinonim cu "gentle" (bland)?
meek good beautiful
He is so kind and meek.
- El este atat de amabil si bland.
Care din urmatoarele cuvinte este sinonim cu "amable" (bland, prietenos)?
hermoso fuerte manso
Tu padre tiene un carácter muy manso.
- Tatal tau are un caracter foarte bland.
Functii - Creare si Utilizare

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (113246)
  2. Glume, Bancuri - Chistes 2 (420)
  3. Titluri, Paragrafe, Un nou rand, Linie orizontala (16925)
  4. Verbe frazale din limba Engleza (20886)
  5. Creare si editare pagini HTML (42734)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (6530)
  2. Curs HTML gratuit Tutoriale HTML5 (5742)
  3. Curs si Tutoriale JavaScript (4435)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (4302)
  5. Curs CSS Online Tutoriale CSS3 (4124)