 |
|
 |
|
|
|
|
Subiectul anterior
:: Subiectul urmator |
|
Autor |
Mesaj |
|
Elektro_Love
Administrator


Data inscrierii: 21/Iul/2010
Mesaje: 101
|
Trimis:
23/07/2010 14:48 Titlul subiectului:
Functii - 1 |
|
|
Functiile 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 care le contine.
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 moduri de functii:
predefinite - cum sunt de exemplu: "parseInt(string)", "parseFloat(string)", ...
Create de programator
- care returneaza o valoare
- care nu returneaza o valoare
1. Crearea (definirea) functiilor
O functie se defineste la inceputul fisierului, in sectiunea head si poate fi folosita in cadrul paginii prin apelarea ei. Scriptul care contine definirea unei functii se adauga in sectiunea "head" pentru a fi siguri ca aceasta a fost incarcata inainte de a fi apelata.
Pentru crearea unei functii se foloseste cuvantul function urmat de numele pe care vrem sa-l dam functiei dupa care putem adauga intre paranteze rotunde argumentele (numite si atribute) functiei (separate prin virgula daca sunt mai multe) si intre acolade trupul functiei care contine codul care trebuie executat.
Forma generala a unei functii este urmatoarea:
function nume_functie(argument1, argument, ...) {
codul care va fi executat
}
Argumentele sunt variabile folosite de functie si a caror valoare este preluata la apelarea functiei.
Atributele nu sun obligatorii, o functie poate fi definita si fara argumente, dar se pastreaza parantezele rotunde, astfel sintaxa unei functii fara argumente este urmatoarea:
function nume_functie() {
codul care va fi executat
}
2. Instructiunea return
O functie care returneaza un efect foloseste pentru aceasta instructiunea return. Aceasta specifica valoarea pe care o returneaza functia cand este apelata.
Iata un exemplu din care pouteti intelege modul de aplicare a instructiunii return:
function suma(x, y) {
z = x+y;
return z
}
- "suma" reprezinta numele functiei (puteti da indiferent ce nume care respecta regulile limbajuli si nu sunt identice cu cele rezervate, cum ar fi "function"), "x, y" reprezinta argumentele functiei a caror valoare este data cand functia este apelata. Intre acolade avem codul care trebuie executat si care, prin instructiunea "return" va returna valoarea lui "z" care reprezinta suma lui "x" si "y". Astfel valoarea returnata de functia "suma()" va fi valoarea pe care o are "z".
3. Apelarea functiilor
Dupa ce am creat o functie, pentru a fi folosita, fuctia trebuie apelata.
- O functie care contine argumente se apeleaza in felul urmator:
nume_functie(argument1, argument, ...)
- O functie fara argumente se apeleaza in felul urmator:
nume_functie()
Observati ca la apelul functiei nu se mai folosesc cuvantul "function" si acoladele
In locul in care am apelat astfel o functie va fi executat corpul acelei functii.
4. Exemple de scripturi cu functii
In continuare studiati exemplele de mai jos, care folosesc functii simple, astfel veti intelege mai bine modul de lucru si executie a unei functii.
- Exemplu 1 - functie fara argument
Urmatorul exemplu prezinta un script care afiseaza un text:
| Citat: | <html>
<head>
<script type="text/javascript">
<!--
function exemplu1() {
return document.write("Bine ati venit!")
}
//-->
</script>
</head>
<body>
<script type="text/javascript">
exemplu1()
</script>
</body>
</html> |
- Observati ca functia "exemplu1" a fost definita in sectiunea head a documentului HTML si apoi a fost apelata in sectiunea "body", unde va afisa textul "Bine ati venit!"
- Exemplu 2 - functie cu un argument
Urmatorul exemplu prezinta un script care la apasarea unui buton deschide o fereastra "alert" care va afisa un text in functie de argumentul transmis.
Specificatie - Sintaxa generala a functiei "alert" din JavaScript este: alert('Text'), aceasta deschide o fereastra de atentionare in care este afisat mesajul dintre paranteze "Text".
| Citat: | <html>
<head>
<script type="text/javascript">
<!--
function exemplu2(text) {
alert(text);
}
//-->
</script>
</head>
<body>
<form>
<input type="button" onclick="exemplu2('Buna dimineata!')" value="dimineata" />
<input type="button" onclick="exemplu2('Buna ziua!')" value="ziua" />
</form>
</body>
</html> |
- Studiati cu atentie scriptul si modul in care acesta este apelat.
Textul afisat de "alert" este preluat de la valoarea argumentului functiei "exemplu2" care l-a randul lui il preia din ceea ce este scris la apelarea functiei.
- "onclick" (la click) este o comanda JavaScript care specifica timpul cand trebuie sa fie executata functia.
Cand apasati cele doua butoane veti obtine o fereastra 'Alert' cu doua mesaje diverse (specificate la fiecare apelare a functiei "exemplu2")
- Exemplu 3 - functie cu doua argumente
Urmatorul exemplu prezinta un script care la apasarea unui buton deschide o fereastra "alert" care va afisa suma a doua numere.
| Citat: | <html>
<head>
<script type="text/javascript">
<!--
function exemplu3(x,y) {
var z = 0;
z = x+y;
return alert("Suma lui "+x+" si "+y+" este: "+z)
}
//-->
</script>
</head>
<body>
<form>
<input type="button" onclick="exemplu3(7, 8)" value="Suma" />
</form>
</body>
</html> |
- Studiati cu atentie scriptul, modul in care au fost combinate: "alert()", sirul si valoarea argumentelor "x, y", variabila "z" si modul in care functia "exemplu3" este apelata.
Cand apasati pe buton, veti obtine suma numerelor 7 si 8.
In interiorul functiei pot fi folosite instructiuni complexe, cum ar fi "for", "if", "while"; care pot lua decizii variate in functie de argumentele functiei. Depinde doar de cunostintele si imaginatia dv.. _________________ [url=http://www.fodey.com/generators/animated/ninjatext.asp] [/url] |
|
|
|
|
|
|
|
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
|