Funcția Javascript în funcție

Ideile de formare dinamică a conținutului pe resursele web au devenit normele. Paginile statice și construcția site-urilor șablon au încheiat în final misiunea lor.

Cu toate acestea, o resursă web modernă nu trebuie să fie reprezentată de un set de pagini generat de server și actualizat de browser (JS + AJAX).







Funcția Javascript în funcție

O resursă Web la momentul sosirii unui vizitator poate fi o pereche de antete pentru protocol, un text în "cap", mai multe linii de cod în "corp" și totul. Restul se va "gândi" în procesul de lucru al vizitatorului - acesta este un loc ideal sau se străduiește să fie unul.

Locul descrierii și esența funcțiilor

Funcția Javascript în funcție

Conceptul de algoritm în afara funcției este în principiu absent. Desigur, dezvoltatorul poate introduce un script oriunde în pagină, poate plasa codul în ea și va fi executat. Dar care este punctul din cod care se execută o singură dată: când încărcați (reîncărcați) pagina? Cu excepția cazului în care este posibilă stabilirea valorilor inițiale ale oricăror variabile nesemnificative.

Un script este un loc pentru a descrie variabilele și funcțiile necesare, mai degrabă decât o piesă bună de cod scrise de dragul său. Este un set de funcții semnificative și semnificative, probabil conexiunea directă reciprocă, dar mai des este diferită. Locul descrierii funcției și locul aplicării ei nu este același.

Nu este absolut necesar ca funcția să numească o altă funcție în mod direct, poate fi făcută indirect prin generarea de coduri dinamice. Vizitatorul ia o decizie în cadrul acestui cod și funcționează un sistem complet diferit de funcții.

Dinamica funcțională

Dinamica funcțională nu este numai și nu atât de multă manipulantă atribuită elementelor paginii, acestea sunt funcțiile care formează elementele paginii, dar și manipulatorii direcți se pot schimba.

Funcția Javascript în funcție

Acțiunea pe pagină se desfășoară în funcție de elementele sale și de comportamentul vizitatorului. Miscarea mouse-ului, butoanele tastaturii, clicurile, evenimentele elementului si alte circumstante conduc la lansarea functiilor necesare.

Această nouă gândire în dezvoltare: prelucrarea distribuită a informațiilor în intestinul unui singur browser!

Sintaxa variabilelor și funcțiilor

Descrierea funcției începe, în general, cu cuvântul cheie "funcție", urmată de numele său, o listă de argumente în paranteze separate printr-o virgulă și corpul funcției în paranteze curbate.

Funcția Javascript în funcție

Acest exemplu descrie două funcții care asigură schimbul AJAX între o pagină și un server. Variabila scXHR este descrisă mai sus, prin urmare este disponibilă atât în ​​InitXML, cât și în interiorul WaitReplySC.

Numele funcției și parametrul funcției

Aici este, de asemenea, important să rețineți că WaitReplySC este o funcție. Dar în linia scXHR.onreadystatechange = WaitReplySC, este trecut ca parametru. Aceasta este o regulă generală pentru transmiterea funcțiilor la alte funcții ca parametri. Am specificat parantezele și i-am trecut parametrul (parametrii) - funcția va fi executată imediat. Am dat doar numele, deci ce? Apelul funcției va fi făcut de cel care ia primit numele.

Ieșiți din funcție și rezultatul acesteia

În corpul funcției, puteți scrie orice operator de limbă, care, de fapt, este destinat acestui lucru. În interiorul funcției sunt disponibile variabile care sunt descrise în interiorul și în exteriorul acesteia, dar nu cele descrise în alte funcții.

Funcția Javascript în funcție






De obicei, dezvoltatorii respectă foarte mult această posibilitate și, în funcție de situație, iau decizia de a părăsi funcția cât mai curând posibil.

Nu este necesar să treceți prin întregul algoritm al funcției, când puteți ieși mai devreme.

Argumente funcționale

Funcția Javascript în funcție

Sunt disponibile argumente variabile în interiorul funcției, care are proprietatea lungime. Puteți accesa orice argument al unei funcții prin argumente [0], argumente [1]. până la ultimele argumente [arguments.length-1].

După terminarea funcției, tot ceea ce a fost asociat executării sale va fi distrus. În timpul execuției, funcția poate modifica variabilele externe, cu excepția celor descrise în alte funcții, inclusiv cele interne.

Utilizarea funcțiilor

Principala preocupare a funcțiilor este de a servi evenimentele de browser. Pentru a face acest lucru, în aproape fiecare etichetă, este posibil să specificați numele evenimentului și funcția care o procesează. Puteți specifica mai multe evenimente, dar pentru fiecare eveniment este specificată doar o funcție.

O funcție poate servi mai multe elemente de pagină și mai multe evenimente. Prin intermediul acestui parametru, puteți transmite informații funcției, de unde a fost apelată.

Utilizarea clasică a funcțiilor JS este o operațiune care gestionează evenimentele pe elemente. În acest exemplu, funcția scfWecomeGo () sau scfWelcomeCancel () va fi apelată în formularul de intrare / ieșire a vizitatorului și când este selectat scfMenuItemClick (acesta).

Funcția Javascript în funcție

Funcția nu are nevoie să returneze un șir de caractere, un număr sau o altă funcție. Acesta poate returna un element HTML complet, și în care va exista un număr necesar de elemente, cu propriile manipulatoare de evenimente.

Prin plasarea unui astfel de element pe pagină, dezvoltatorul creează noi funcționalități, ceea ce este bun în ceea ce privește rezolvarea problemei și satisfacerea intereselor vizitatorilor, dar este destul de dificil din punctul de vedere al implementării.

Începând cu o astfel de dezvoltare plină de caracteristici, este ușor să vă confundați în propriul cod, în apeluri de funcții, în momentele când se formează acest sau acel conținut al acestei sau acelei părți a paginii. Înainte de a lua o astfel de direcție de dezvoltare, nu durează să cântărească totul bine.

Despre gândirea distribuită

Dezvoltatorul trebuie să se gândească la nivelul tuturor elementelor paginii, la nivelul tuturor evenimentelor și să aibă o idee clară despre cum sunt lucrurile. Este complicat, dar această lucrare merită.

Funcția Javascript în funcție

Funcția Javascript în funcție

În acest exemplu, undeva mai devreme, a fost apelată o funcție care a inițiat crearea articolului de meniu de navigare a fișierului. Este presupusă o organizație de paginare, adică există doar șapte fișiere în fereastră care pot fi șterse și procesate. Puteți să vă mutați pe ambele făcând clic pe linia fișierului și pe săgețile de pe tastatură și pe blocuri de șapte linii.

În fiecare caz, există funcții. Cu alte cuvinte, într-un exemplu atât de simplu, trebuie să scrieți câteva zeci de funcții care să răspundă unor evenimente diferite, iar unele dintre aceste funcții se vor ocupa de diferite variante și situații care nu se aplică evenimentelor.

Funcția Javascript în funcție

Argumente și rezultate ale funcțiilor

Acesta este un mecanism bun, dar este destul de complex în ceea ce privește punerea în aplicare. Din punct de vedere tehnic, totul este posibil, oferind semantic logica transferului "funcțional" numai de către un dezvoltator calificat.

Funcția Javascript în funcție

Dacă argumentul este o funcție, atunci dezvoltatorul trece o variabilă cu proprietăți speciale, adică nu este un număr, nu un șir, nu un obiect. Dar folosirea unui astfel de argument poate duce la modificarea variabilelor externe și rezultatul execuției funcției va fi. În funcție de ceea ce este trecut, vor exista schimbări adecvate.

Executarea codului generat

Funcția Javascript în funcție

Funcția Javascript în funcție

Dacă există posibilitatea de a face fără excese, este mai bine să o utilizați. Toate opțiunile enumerate sunt bune. Desigur, în multe cazuri aceasta este singura soluție.

Un exemplu clasic de recursiune: calculul factorialului. Aici este destul de dificil să scrieți un algoritm care rămâne blocat, dar este foarte ușor să treceți dincolo de limitele sensului. Factorul crește prea repede.

Cu toate acestea, atât recursiunea, cât și o funcție care numește o altă funcție care poate face apel invers este rezonabilă.

De exemplu, o masă normală. În tabel pot fi alte mese. Nestingul nu poate fi limitat. Pentru a scrie pentru fiecare tabel propriul set de funcții este un lux prea mare.

Funcția Javascript în funcție







Articole similare

Trimiteți-le prietenilor: