Funcții
Funcțiile sunt unul din elementele de bază în JS.
- Definirea unei funcții se face cu
function
- urmează numele funcției
- urmează parametrii delimitați prin virgulă
(param1, param2)
, putem avea 0 sau mai mulți parametri - urmează un bloc
{}
în care pot fi 0 sau mai multe expresii - blocul funcției poate conține
return
- dacă avem o valoare după
return
, atunci funcția va returna acea valoare return
oprește execuția funcției- dacă nu avem o valoare după
return
sau nu avemreturn
, funcția va întoarceundefined
Exemple:
function showName(name) {
console.log('Name is ' + name);
}
// declararea minimă a unei funcții
function () {}
- o funcție pot fi declarată în interiorul altei funcției
- putem apela o funcție în mai multe moduri:
- ca și funcție
- ca și metodă
- ca și constructor
- indirect prin
call
sauapply
- nu trebuie să specificăm ce tip de date returnează o funcție sau ce tip de date sunt argumentele
- argumentele sunt tratate ca și variabile definite la început de funcție
- putem să apelăm funcția cu mai mulți sau mai puțini parametri
- argumentele unei funcții pot fi accesate și prin obiectul
arguments
- variabilele declarate în interiorul unei funcții nu pot fi accesate din afara funcției
Funcțiile sunt valori
O funcție poate fi stocată într-o variabilă la fel ca și un obiect.
Funcții anonime.
Funcții ca și metode
this
Metode și proprietăți
O funcție este un obiect.
Apelarea indirectă a funcției
call({}, a, b)
apply(obj, [a, b])
obj.meth = function () {};
obj.meth(a, b);
delete obj.meth;