3 0 Functions, Methods and Objects
3 0 Functions, Methods and Objects
return e folosit pentru a returna valoarea unei functi codului care a chemat acea
functie. Se foloseste evident in interiorul functiei.
Pentru o singura valoare se foloseste retrurn varName iar pentru mai multe valori
return arrayName. Putem selecta ce valoare din array sa primim specificand
indexul atunci cand chemam functia.
Anonymous functions
O functie normala,ca cele de mai sus pot fi chemate inainte de a fi declarate
pentru ca atunci cand se incarca pagina,browserul scaneaza intreg scriptul si ia la
cunostiinta existenta lor.
O functie anonima se declara fara nume si e de obicei stocata intr-o variabila.
Aceasta nu poate fi chemata decat dupa punctul in care a fost declatrrata,facand
ca orice cod ce apare inainte de declarare sa poate modifica ce se intampla in
functie.
Declararea si chemarea unei astfel de functii
Variable scope
Locul in care declaram o variabila dicteaza unde si cand putem folosi acea
variabila. De exemplu,daca declaram o variabila intr-o functie,acea variabila poate
fi folosita doar in acea functie. Acest lucru se numeste variable scope.
Avem doua tipuri de variabile:
-variabile locale=cele declarate in functii,si se spune ca au local scope sau
function level scope si nu pot fi accesate in afara functiei. Asta inseamna ca mai
multe functii pot folosi variabile cu acelasi nume din moment ce acestea exista
doar atunci cand o functie ruleaza.
-variabile globale =cele create in afara functiilor ce pot fi folosite oriunde in
script.Se spune ca au global scope. Acestea sunt stocate in memorie for as long as
the web page is loaded,ceea ce inseamna ca folosesc mai multa memorie decat
variabilele locale.
Objects
Obiectele grupeaza un set de variabile si functii pentru a crea un model pentru
un obiect din lumea reala of sorts.
Intr-un obiect,variabilele se numesc proprietati si stocheaza informatii despre
acel obiect (dimensiune,numar de camere,culoare etc).Functiile se numesc
metode si reprezinta taskuri asociate acelui obiect (sa verifice daca mai sunt
camere libere,daca e mai mare de x metrii etc)
Un obiect se gaseste intre acolade si e stocat intr-o variabila.Proprietatile acelui
obiect au un nume si o valoare. Numele poarta denumirea de key si trebuie sa fie
unic in interiorul obiectului.
Mai sus avem un obiect numit hotel. Este doar unul din modurile in care un obiect
poate fi creat. Keywordul this din interiorul functiei de mai sus este folosit pentru
a indica ca se folosesc proprietatile obiectului in care este inclusa.
Updating an object
pentru a accesa si updata proprietatile unui obiect folosim dot notation si =
(hotel.name=’Park’) Daca obiectul nu are proprietatea,aceasta va fi adaugata cu
valoare definita de noi.
Pentru a sterge o proprietate se foloseste keywordul delete
(delete hotel.name) (asta sterge proprietatea cu totul.
Daca vrem doar sa stergem valoarea unei proprietati,fara a sterge si
proprietatea,ii putem da valoarea de string gol (hotel.name=’’)
“this” keyword
This e folosit in general in interiorul functiilor si obiectelor iar intelesul lui this
depinde de unde si cum au fost declarate functiile si obiectele.
-o functie in global scope (atunci cand o functie este creata in afara altei
functii sau obiect) afecteaza by default obiectul window (fereastra in sine) .In
acest context,this e folosit pentru a returna proprietati ale obiectului window.
**mai general.putem spune ca this se refera la obiectul sub care a fost creata
functia***
-o variabila globala devine de asemenea proprietate a obiectului
window by default,deci pot fi accesate prin intermediul lui this si obiectului
window.