Obiecte, webreference

Obiectul pe care l-am creat conține două proprietăți: firstName și lastName. Am creat-o folosind "sintaxa obiectelor literale" - adică prin setarea unui set de perechi cheie-valoare în <>. Rețineți că pentru fiecare pereche este furnizat un element de colon între tastă și valoare și o virgulă între fiecare pereche. De asemenea, rețineți că, după ultimele perechi cheie-valoare nici un punct - în cazul în care ați pus din greșeală o virgulă după ultima pereche, apar erori în browsere mai vechi.







Accesul la proprietăți

Stocăm obiectul într-o variabilă numită persoană. care vă permite să accesați cu ușurință proprietățile obiectului, folosind notația cu un punct sau cu paranteze pătrate.

Rețineți că în notația cu paranteze am folosit un șir cotat pentru numele proprietății; în notația punctului, am folosit pur și simplu numele proprietății fără ghilimele. O notație cu paranteze este o abordare utilă dacă, de exemplu, mai târziu stocați numele proprietății într-o variabilă:

După crearea obiectului, îi putem schimba proprietățile.

Obiective

Metodele obiectului sunt pur și simplu proprietăți ale căror valori sunt funcții. Să adăugăm metoda .greet () persoanei noastre:

Metoda .greet () din acest exemplu are stringul de nume ca argument. Atunci când numim o metodă, îi trimitem pur și simplu valoarea proprietății firstName a persoanei. Dacă vrem o metodă super-flexibilă .greet (). care poate să primească pe oricine, asta este ceea ce avem nevoie. Dar, probabil, este mult mai logic ca metoda .greet () să salute o anumită persoană.

Înțelegerea acestui lucru







În interiorul metodei, dar în realitate în orice funcție, există un cuvânt cheie special disponibil pentru noi. Se referă la un obiect care este contextul în care a fost apelată funcția.

Când apelăm person.greet (). Contextul obiectului este persoana în sine. Aceasta înseamnă că putem folosi acest lucru și putem accesa proprietatea obiectului persoană direct din metoda .greet ().

Să vedem cum putem folosi acest lucru în metoda noastră.

Nu atât de confuz, nu? Confuzia apare deoarece sensul acestui lucru se poate schimba - așa cum am menționat mai devreme, depinde de contextul în care a fost numită funcția! Luați în considerare următorul cod:

Atenție vă rog! Cod incorect

Când salvăm metoda .greet () în variabila sayIt. și apoi apelați sayIt (). Contextul obiectului se modifică la obiectul ferestrei globale. nu persoana obiectului. Deoarece obiectul ferestrei nu are proprietatea firstName. ne indentificam atunci cand incercam sa-l accesam.

Ce ar trebui să facă dezvoltatorul? În primul rând, trebuie să știți că metodele de salvare a obiectelor în variabile pot avea consecințe imprevizibile pentru acest lucru. În al doilea rând, amintiți-vă că puteți rezolva valoarea acestui .call la utilizarea dorită () sau .Aplicã () pentru funcția.

Ambele metode sunt foarte asemănătoare. Metoda .apply () permite de asemenea trecerea argumentelor la funcția pe care o accesăm. Imaginați-vă că unele argumente sunt transmise metodei noastre .greet (); am putea să le transmitem folosind .call (). astfel:

Am putea face același lucru prin .apply (). dar atunci trebuie să treci argumente sub forma unei singure matrice, în loc de argumente individuale:

Obiectele din jQuery

Stăpânim doar obiectele superficiale, dar acum cunoaștem elementele de bază, veți învăța cum să lucrați cu obiectele jQuery. În jQuery de bază, veți folosi extensiv obiecte pentru a specifica parametrii de configurare. De exemplu, puteți specifica un obiect și, prin urmare, puteți modifica simultan mai multe proprietăți CSS pentru element:

În ceea ce privește asta. jQuery, de regulă, își controlează valoarea. În cazul manipulatorilor de evenimente, aceasta se va referi la elementul la care este legat manipulatorul; În cazul enumerării elementelor din selecție, aceasta se va referi la elementul curent. Nu trebuie să vă îngrijorați prea mult despre înțelegerea acestui lucru în timpul antrenamentului inițial - este doar un lucru bun și amintiți-vă în timp ce instruirea continuă.

Citirea în continuare







Articole similare

Trimiteți-le prietenilor: