JavaScript: funkcija za rad. JS programski jezik

Ideje o oblikovanju dinamičkih sadržaja na web-stranici postale su norma. Statične stranice i gradnja web-lokacije za predložak konačno su dovršile svoju misiju. Međutim, moderni web-resurs ne mora nužno biti predstavljen skupom stranica koje generira poslužitelj i ažurira preglednik (JS + AJAX).

[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_331.jpeg
Web- resurs u vrijeme dolaska posjetitelja može biti par zaglavlja za protokol, malo teksta u "glavi", nekoliko redaka koda u "tijelu" i sve. Ostatak "razmisli" u procesu rada posjetitelja - ovo je idealno mjesto ili želi biti takav.


Mjesto opisa i bit funkcija

javascript je iskustvo mnogih desetljeća. On ima značajnu povijest razvoja, moderan, kvalificiran tim programera. Jezik je vrhunski promišljen, pouzdan, lijep i daje stvarnu sposobnost programerima da napišu pristojan kod i samousavršavanje.
[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_542.jpeg
Koncept algoritma Izvan funkcije ovdje u načelu nema. Naravno, programer može umetnuti skriptu bilo gdje na stranici, smjestiti je u kod i izvršiti. Ali što je točka u kodu koji se izvršava samo jednom: prilikom učitavanja (preopterećenja) stranice? Je li moguće postaviti početne vrijednosti bilo koje ne-značajne varijable. Skripta je mjesto za opisivanje potrebnih varijabli i funkcija od dobrog dijela koda pisanog za sebe. To je skupfunkcije su bitne i smislene, možda - njihova međusobna izravna komunikacija, ali češće se događa drugačije. Mjesto opisa funkcije i mjesto njezine primjene nije isto.


Nije potrebno da funkcija poziva drugu funkciju izravno, to se može učiniti neizravno zbog formiranja dinamičkog koda. Posjetitelj donosi odluku unutar ovog koda i radi na potpuno drugom sustavu funkcija.

Funkcionalna dinamika

Funkcionalna dinamika - to nisu samo i ne toliko rukovatelja, dodijeljeni elementi stranice, te funkcije koje oblikuju elemente stranice, pa i direktni rukovatelji mogu se mijenjati.
http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_673.jpeg
Akcija na Stranica se proširuje ovisno o elementima i ponašanju posjetitelja na njemu. Miš pomiče, tipke tipkovnice, klikovi, stavke događaja i druge okolnosti pokreću potrebne funkcije. Prvo ovdje nema dosljednosti i nema paralelizma. Evo odgovarajućeg odgovora web-resursa na događaje. Kako će brzi javascript raditi na ovoj ili onoj funkciji ovisi o mnogim tehničkim (računalna, komunikacijska linija) i semantičkim (logika algoritma, domeni, značenju zadatka) čimbenicima. Zapravo, može se tvrditi da je nešto djelovalo paralelno, ali nešto će se nakon nečega ispuniti, ali nema smisla u ovom posebnom. Važno je da je javascript funkcija prilika za stvaranje adekvatnog odgovora na aktivnosti posjetitelja. To je novo razmišljanje u razvoju: distribuirana obrada informacija u crijevima posebnopreuzet preglednik!

Sintaksa varijabli i funkcija

javascript varijabli smještene su u oznaku "script" i u tijelu funkcije. Funkcije se definiraju na isti način. Nema posebnog smisla pisati unutar funkcije, ali možda ne postoji druga funkcija, ali to može biti potrebno iz različitih i dobro utemeljenih razloga.
Opis funkcije u općem slučaju počinje s ključnom riječi "funkcija", nakon čega slijedi njeno ime, popis argumenata u zagradama kroz zarez i tijelo funkcionira u uvijenim zagradama.
http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_584.jpeg
Primjer opisuje dvije funkcije koje omogućuju AJAX razmjenu između stranice i poslužitelja. Varijabla scXHR je opisana gore, tako da je dostupna u InitXML i unutar WaitReplySC.

Naziv funkcije i parametar "funkcija"

Ovdje je predstavljena asinkrona verzija, kada se funkcija javascripta na funkciju naziva nakon odgovora poslužitelja. U tom slučaju, primanje odgovora od poslužitelja, WaitReplySC pristupa oznakama stranice, ispunjava ih primljenim informacijama i poziva druge funkcije koje mogu pokrenuti sljedeći zahtjev poslužitelju. Također je važno napomenuti da je WaitReplySC funkcija. Ali u redu scXHR.onreadystatechange = WaitReplySC, on se prosljeđuje kao parametar. To je opće pravilo prijenosa funkcija na druge funkcije kao parametre. Navođenje zagrada i njihovo prosljeđivanje parametara (parametara) - funkcija će se odmah izvršiti. Prošao je samo ime, dobro i to iz toga. Poziv funkcije izvršit će onaj tko je dobio njegovo ime. Funkcionalnost koja se provodi kroz AJAX, koja vam omogućuje da pozovete funkciju javascripta putem primljenih podatakas poslužitelja. Zapravo, slanjem zahtjeva poslužitelju, jedna ili druga funkcija uopće ne može "znati" na koju funkciju se odnosi i s kojim informacijama.

Izvan funkcije i njezinih rezultata

U tijelu funkcije možete napisati sve jezične operatore, koji su zapravo namijenjeni za tu svrhu. Unutar funkcije, varijable su dostupne unutar i izvan funkcije, ali ne i one koje su opisane u drugim funkcijama.
http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_215.jpeg
Ako je potrebno Da biste vratili funkciju koju je vratila funkcija, možete koristiti javascript: return. U tijelu funkcije može postojati dovoljan broj povratnih operatora. Nije nužno da svi vraćaju rezultat iste vrste.
Obično su developeri vrlo počašćeni ovom mogućnošću i, ovisno o situaciji, odluče izaći iz funkcije čim to postane moguće. Nije potrebno izvoditi cijeli algoritam funkcije kada je moguće napustiti ranije.

Argumenti funkcija

Argumenti se prenose u funkciju popisa putem zareza, nalaze se u zagradama i odmah nakon njegovog naziva. Kao argumenti koriste se nazivi varijabli, ali također možete izravno prenositi vrijednosti. Da biste omogućili prenošenje funkcije na funkciju, jednostavno trebate navesti njegovo ime bez zagrada.
[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_506.jpeg
argument varijable, ima svojstvo duljine. Možete se pozvati na bilo koji argument funkcije preko argumenta , argumenata

, na zadnji argument [arguments.length-1]. promjenaargument funkcije je stvarno unutar funkcije, ali ne i izvan njezinih granica. Da biste nešto promijenili iz funkcije, morate koristiti javascript return operator, preko kojeg ćete proći traženu vrijednost vani. Nakon što je funkcija dovršena, sve što je bilo povezano s njegovim izvršenjem bit će uništeno. Tijekom izvršavanja, funkcija može mijenjati vanjske varijable, osim onih opisanih u drugim funkcijama, uključujući i one unutarnje. Argumenti imaju svojstvo callee, koje je namijenjeno za pozivanje funkcije koja se izvodi u određeno vrijeme. Ako nazovete sebe, onda će javascript opcija za funkciju omogućiti rekurzivnu implementaciju.

Korištenje funkcija

Glavna briga funkcija je posluživanje događaja u pregledniku. Da biste to učinili, u gotovo svakoj oznaci postoji mogućnost da navedete naziv događaja i njegovu funkciju, njegovu obradu. Možete navesti više događaja, ali za svaki događaj se navodi samo jedna funkcija. Jedna funkcija može poslužiti nekoliko elemenata stranice i nekoliko događaja. S parametrom "ovaj" možete prenijeti informacije o funkciji s mjesta na koje je pozvan. Klasična upotreba JS-funkcije - rukovatelji događajima na elementima. U ovom primjeru, obrazac za prijavu /izlazak posjetitelja pozvat će funkciju scfWecomeGo () ili scfWelcomeCancel () i kada je odabrana scfMenuItemClick (this).
[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_407.jpeg
slučaj prolazi parametar "this", što vam omogućuje da se pitate čija se djevica zvala. Općenito, javascript je tako visoko ugrađen u DOM i tako je zgodan, dopuštakretanje kroz njegove elemente, prikupljanje informacija da dinamika stranice može biti nepredvidiva. Funkcija ne mora nužno vratiti niz znakova, broj ili drugu funkciju. Može vratiti puni HTML element, u kojem će biti potreban broj elemenata, s vlastitim rukovateljima njihovih događaja. Postavljanjem takve stavke na stranicu, programer stvara novu funkcionalnost koja je dobra u smislu rješavanja problema i zadovoljavanja interesa posjetitelja, ali prilično teška u implementaciji. Započinjući tako punopravni razvoj, lako je zbuniti se u vlastitom kodu, u pozivima funkcija, u trenucima kada se formira jedan ili drugi dio stranice. Prije prihvaćanja takvog smjera razvoja, to neće spriječiti da se sve dobro odmjeri.

O distribuiranom mišljenju

Programer mora razmišljati na razini svih elemenata stranice, na razini svih događaja, i imati jasnu predodžbu o tome kako stvari stvarno postoje. Teško je, ali ovaj se posao isplati.
[img] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_128.jpeg [/img]
izvršenje funkcije može se odgoditi na bilo koji događaj, a takve funkcije mogu biti brojne, a događaji imaju svojstvo širenja i spadaju u "područje" različitih rukovatelja.
[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_769.jpeg
Primjer funkcije koja se naziva pokretanje stavke izbornika za navigaciju datotekama nazvana je negdje ranije. Planirana je organizacija stranica, odnosno u prozoru, samo sedamdatoteke koje se mogu izbrisati i obraditi. Možete se premjestiti ili klikom na redak datoteke, kao i strelicama na tipkovnici i blokovima od sedam linija. Svaki slučaj ima svoje funkcije. Drugim riječima, u tako jednostavnom primjeru potrebno je napisati nekoliko desetaka funkcija koje će odgovoriti na različite događaje, a neke od tih funkcija razradit će različite opcije i situacije koje se uopće ne odnose na događaje.
[img] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_9210.jpeg [/img]
Na primjer, kada se ukloni, donje linije se trebaju pomaknuti prema gore. Da biste to učinili, morate napraviti novi uzorak koji je uobičajen i obiman resurs, ili popisati redove, koristiti funkcije JavaScript polja i elegantno postići cilj.

Argumenti i rezultati funkcija

javascript omogućuje vam da unesete kod u "potpuno funkcionalno" stanje. Normalno, kada je funkcija funkcija funkcija. Opcija je dopuštena kada funkcija vrati funkciju. javascript ga tretira apsolutno mirno. To je dobar mehanizam, ali prilično kompliciran u provedbi. Tehnički je prihvatljivo semantički osigurati logiku prijenosa "funkcionalnog" na moć samo kvalificiranog developera.
[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_1411.jpeg
javascript funkcija za funkciju - gdje nije otišao, ali kada funkcija generira funkciju, i jedni druge, onda je teško pratiti logiku. Zapravo, pitanje je ne primijeniti kvalifikaciju, pitanje je dobiti siguran i točan rezultat. Zabrinutost razvojnog inženjera je jasna i jednostavna. Postoji zadatak koji vam je potrebanrješenje, a ne bug kao što je "javascript pogreška rad je nesiguran", čist zaslon ili zaustaviti cijeli motor preglednika. Ako je argument funkcija, tada programer prosljeđuje varijablu s posebnim svojstvima, to jest, to nije broj, ne niz, a ne objekt. No, uporaba takvog argumenta može dovesti do promjene vanjskih varijabli i biti rezultat funkcije. Ovisno o činjenici da će prenesene biti odgovarajuće promjene.

Implementacija generiranog koda

Implementacija koda generiranog tijekom rada drugog koda može se izvršiti pomoću "eval". To se ne smatra izvrsnim rješenjem, ali često ne možete zakomplicirati kod nepotrebnim funkcijama, nego se ograničite na banalno formiranje JavaScript koda i jednostavno ga izvršite.
[thumb] http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_8212.jpeg
Na primjer, redak umetanja se formira u trenutni, vidi neke informacije. Djevica broj i sadržaj informacija su različiti za različite pozicije, dakle, takvo rješenje u ovoj situaciji nije zajamčeno jamčiti situaciju "JavaScript greška operacija je nesigurna", ali će pouzdano dati željeni učinak.
http://hi-news.pp.ua/uploads/posts/2017-04/javascript-funkcya-do-funkcyi-mova-programuvannya-js_8513.jpeg

) Nijansi javascript paradigma "funkcija za funkcioniranje"

Ako je moguće raditi bez frula, bolje je koristiti ga. Sve ove opcije su dobre. Naravno, u mnogim slučajevima ovo je jedino rješenje. Klasičan primjer rekurzije: izračun faktorije. Teško je napisati algoritam koji je rupa u zakonu, ali vrlo je lako nadići vrijednost. Faktorijal raste vrlo brzo. Međutim, irekurzija, i funkcija koja uzrokuje drugu funkciju koja može napraviti razumni povratni poziv - norma stvari. Na primjer, uobičajena tablica. Tablica može imati i druge tablice. Prilog se ne može ograničiti. Za svaki stol napisati vlastiti skup funkcija - previše luksuza. Mnogo je primjera takvih primjera, a sve će to biti stvarni i hitni zadaci, a ne iz područja programiranja. Zato problem leži u činjenici da bez ekscesa ne može bez, kreira se sustav funkcija, točnije njegovo otklanjanje pogrešaka, a daljnji pouzdan rad postaje briga ne za javascript, nego za programera.

Povezane publikacije