DatoriProgrammēšana

JavaScript: function funkciju. Programmēšanas valoda JS

Idejas dinamisku saturu, lai veidotu tīmekļa resursiem ir kļuvusi par normu. Statiskas lapas un veidnes Web dizains beidzot pabeidzis savu misiju.

Tomēr, mūsdienu interneta resurss nav jābūt pārstāv lapu kopas serveris ģenerē un atsvaidzināt pārlūkprogrammu (JS + AJAX).

Tīmekļa krātuve brīdī ierašanās apmeklētājs var būt pāris nosaukumiem ierakstu, ir teksts «galvas», dažas rindiņas kodu, kas «ķermeņa» un visiem. No atpūtas "aptvert" procesā apmeklētāju - tā ir ideāla vieta, vai arī cenšas būt viens.

Novietojiet aprakstu un veidu funkcijas

опыт, наработаный многими десятилетиями. JavaScript - tā ir pieredze narabotany desmitgadēs. Tā ir nozīmīga attīstības vēsturi, mūsdienu kvalificēti komandas izveidotāji izstrādātājiem. Valoda labi pārdomāts, uzticama, skaista un sniedz reālu iespēju izstrādātājiem rakstīt kodu krietns un pašpilnveidošanās.

Par algoritmu jēdziens ir funkcija šeit nepastāv principā. Protams, izstrādātājs var jebkur lapā ievietot skripta kodu, kas likts uz to, un tas tiks izpildīts. страницы? Bet kāda jēga no kodu, kas tiek izpildīts tikai vienu reizi: Ielādējot (pārkraušanas) lapu? Vai ir iespējams noteikt sākotnējo vērtību kādiem dažiem nenozīmīgiem mainīgajiem.

Script - šī vieta ir pareizais apraksts mainīgo un funkciju, nevis labs gabals koda rakstīta savā labā. Tā ir funkciju kopa ir būtisks un svarīgs, varbūt - to savstarpēja tieša saistība, taču biežāk tas ir atšķirīgs. Vieta apraksts funkcijas un vietu tās piemērošanas, nav viens un tas pats.

Tas nav nepieciešams, ka funkcija izsauktu citu funkciju tieši, bet to var izdarīt netieši veidojot dinamisko kodu. Apmeklētājs pieņem lēmumu šajā kodu un strādā diezgan atšķirīgas sistēmas funkcijas.

funkcionālās dinamika

Funkcionālā dinamika - ir ne tikai un ne tik daudz zirgsp piešķirtie lappuses elementi ir funkcijas, kas veido elementi lapas, un neatliekamiem apstrādes, arī var mainīt.

Darbība notiek uz lapas, atkarībā no elementiem un apmeklētāju uzvedību uz to. Peles kustība, tastatūras, pogas, klikšķiem, notikumiem, priekšmetu un citu apstākļu rezultātā uzsākt nepieciešamās funkcijas.

Sākotnēji nepastāv konsekvence un nav paralēlas. Ir atbilstoša reakcija uz tīmekļa resursu notikumiem. Cik ātri JavaScript pilda noteiktu funkciju, tas ir atkarīgs no daudziem tehnisko (datoru, komunikācijas līnijas) un semantiskā (loģika algoritmu, jomu, kas nozīmē, problēmu) faktorus.

Faktiski to var apgalvot, ka kaut kas ir strādājis paralēli, bet kaut kas kļūs pēc kaut ko, bet nozīmē šis īpašais nav. Ir svarīgi, ka JavaScript funkcija - tā ir iespēja izveidot adekvātu reakciju uz darbību apmeklētāju.

Šī jaunā domāšana dizaina: izplatīti apstrādes dziļumā vienā pārlūkprogrammā!

Sintakse mainīgie un funkcijas

JavaScript mainīgie ievietoti tag «skriptu» un ķermeņa funkciju. Funkcijas tiek noteikti vienādi. Īpaša nozīme rakstīt funkcijas iekšienē ir vēl viena funkcija, bet tas var būt nepieciešams, lai dažādu iemeslu dēļ, un tas ir diezgan saprātīgi.

Apraksts funkcijas parasti sākas ar atslēgvārdu «funkcija», kam seko tās nosaukumu, kuru sarakstu argumentus iekavās, atdalītas ar komatiem, un funkcija iestāde lencēm.

Šajā piemērā, abas funkcijas ir aprakstītas, kas sniedz AJAX apmaiņu starp lapu un serveri. Daļēji scXHR aprakstīts iepriekš, jo pieejama gan InitXML, un ievērojot WaitReplySC.

Funkcijas nosaukuma un parametru "funkcija"

Ir iesniegts asinhronā versija kad JavaScript funkcija funkcija tiek izsaukta pēc servera atbildi. Tādējādi, saņemot atbildi no servera, WaitReplySC piekļūst lapas tagu, aizpilda saņemto informāciju un izraisa citas funkcijas, kas var arī uzsākt jaunu pieprasījumu serverim.

Te ir arī svarīgi atzīmēt, ka WaitReplySC - funkciju. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Bet line scXHR.onreadystatechange = WaitReplySC tas tiek nodots kā parametrs. Šis vispārējais noteikums nodošana funkcija, lai citas funkcijas, kā parametriem. Smailu iekavās un deva viņiem savu parametrs (-i) - funkcija tiks izpildīts nekavējoties. Stāsta nosaukums tikai labi tā, ko. Call funkcija padara to, kurš ieguva savu nosaukumu.

Funkcionalitāte īstenota, izmantojot AJAX, ļauj zvanīt JavaScript funkcijas caur saņemtajiem datiem no servera. Faktiski, nosūtot pieprasījumu uz serveri, viena vai otra funkcija var nemaz "zinām", kas darbotos viņa pagriežas, un kāda informācija.

Out funkciju, un tās rezultāts

Par funkciju ķermeņa, jūs varat rakstīt jebkuru valodu operatoriem, kuri, patiesībā, jo tas ir paredzēts. Inside funkcijas ir mainīgie deklarēta no iekšpuses un ārpuses, bet ne tiem, kas aprakstīti citām funkcijām.

Ja vēlaties funkcija atgriezt rezultātu, jūs varat izmantot JavaScript atgriešanās paziņojumu: atdevi. Par funkciju struktūra var būt pietiekams skaits atgriešanas pārskatu. Tas nav nepieciešams, ka visi no tiem atgriezīsies rezultātu paša tipa.

Raksturīgi, ka izstrādātāji ir revered šo iespēju, un, atkarībā no situācijas, izlemt, cik drīz vien iespējams atteikties no funkcijas.

Tas nav nepieciešams, lai palaistu cauri visai algoritmu funkciju, ja jūs varat saņemt agrāk.

funkciju argumenti

Argumenti ir nodots funkcijai sarakstā, atdalītas ar komatiem, tiek liktas iekavās, un ir tikai pēc tam, kad viņas vārdu. Argumenti izmanto mainīgo nosaukumi, bet jūs varat pārsūtīt vērtības tieši. Lai iet JavaScript funkciju funkciju, jums vienkārši nepieciešams, lai norādītu savu vārdu bez iekavās.

Inside funkcija ir pieejami mainīgie argumenti, kas ir garums īpašumu. Jūs varat atsaukties uz jebkuru argumentu funkciju, izmantojot argumentus [0], argumenti [1], ... līdz pēdējiem argumentiem [arguments.length-1].

funkciju argumentu maiņa patiešām ir iekšpusē funkciju, bet ne ārpus tās. Lai mainītu kaut ko ārpus funkciju, ekspluatantam jāizmanto JavaScript peļņu, caur kuru iziet nepieciešamo vērtību ārpuses.

Pēc tam, kad šī funkcija ir pabeigta, viss, kas bija saistīta ar tā īstenošanu, tiks iznīcināti. izpildes funkciju laikā var mainīt ārējos mainīgos, izņemot tos, kas aprakstīti citām funkcijām, tostarp interjerā.

Mums ir argumenti callee īpašuma, kas ir paredzēts, lai izsauktu funkciju, kas tiek veikta noteiktā laikā. Ja pats iemesls, JavaScript versija funkciju funkciju īstenos Rekursija.

Izmantojot funkciju

Galvenās bažas par funkciju - kalpot notikuma pārlūkprogrammu. Lai to izdarītu, gandrīz katru tagu, ir iespēja norādīt notikumu nosaukumu un funkcijas tās ražošanā. Jūs varat norādīt vairākus notikumus, bet katrs gadījums ir norādīts tikai vienu funkciju.

Viena funkcija var apstrādāt vairākas lapas elementus un dažus notikumus. Ar «šī» iespēju, jūs varat pārsūtīt informācijas funkciju, kur tā sauca.

Klasiskais izmantošana JS-funkciju - Pasākuma iekrāvēji uz elementiem. Šajā piemērā scfWecomeGo () funkciju vai scfWelcomeCancel () sauc ievades / izvades formas apmeklētājs, un, kad izvēloties darbības režīmu scfMenuItemClick (šo).

Pēdējā gadījumā nodots parametrs «šī», kas ļauj jums brīnumainā kārtā mācīties no tā, kas ir dīva sauca. Patiesībā, JavaScript ir tik kvalitatīvi implantē DOM, un tas ir tik ērti ļauj orientēties tās elementus, lai savāktu nepieciešamo informāciju, ka lapas dinamika var vienkārši būt neparedzama.

Funkcija nav jāatgriežas string, numuru vai citu funkciju. Tas var atgriezties pilnu HTML elementu, un kas ir nepieciešami vairāki elementi, ar to apstrādes, to notikumu.

Ievietojot elementu lapā, attīstītājs rada jaunas funkcijas, kas ir labs ziņā atrisināt problēmu un apmierinātu apmeklētāju interesēm, bet diezgan grūti ziņā īstenošanā.

Tā attīstību šāds pilnībā funkcionālas, viegli pazust native kodu, kas funkciju izsaukumu, jo brīžos, kad veidojas vai saturu vienas vai otras lapas. Pirms šāda attīstības virzienu, netraucē labi sver visu.

Par domāšanas sadali

Attīstītājs ir jādomā līmenī visiem elementiem lapas, visos pasākumos, un ir skaidrs prezentāciju par to, kā viss patiesībā notiek. Tas ir grūti, bet darbs ir vērts.

JavaScript funkcija var aizkavēties līdz brīdim, kad kādu notikumu, un šādas funkcijas var būt daudz, un notikumi ir tendence izplatīties un saņemt uz "jomā redzamība" dažādu procesoru.

Šajā piemērā, kaut kur pirms funkcija sauc, kas uzsāka vienuma failu navigācijas izvēlni. Tiek pieņemts, peidžeri, kas ir logā tikai septiņi failus, kurus var noņemt un apstrādāti. Var pārvietot kā failu, noklikšķinot uz rindas, un bulttaustiņus un bloķē septiņu rindās.

Katrā gadījumā ir sava funkcija. Citiem vārdiem sakot, šajā vienkāršajā Piemēram, jums ir nepieciešams, lai rakstītu pāris desmitiem funkcijas, kas reaģē uz dažādiem notikumiem, un dažas no šīm funkcijām būs rīkoties dažādas iespējas un situācijas, ka notikumi nepiederēja.

Tā, piemēram, noņemot apakšējo līniju jāpārvieto paaugstinātos. Tas prasīs nu izveidot jaunu atlasi, kas parasts un skaidri resursu, vai arī rēķināties līnijas, izmantojiet javascript funkciju masīva un, lai sasniegtu mērķi elegants.

Argumenti un par funkciju rezultātus

JavaScript ļauj celt kodu uz "pilna Featured" statusu. Parasti, kad arguments funkcija ir funkcija. Atļauts variants, funkcija atgriež funkcija. JavaScript paņem to diezgan mierīgi.

Tas ir labs mehānisms, bet gan sarežģīts saistībā ar īstenošanu. Tehniski pieļaujamā semantiski nodrošināt "funkcionālu" loģikas pārraidi tikai kvalificētam izstrādātājam.

Kad JavaScript funkcija funkciju - visi labi, bet, kad funkcija ģenerē funkciju, un ka cits, loģika ir diezgan grūti sekot. Patiesībā jautājums nav par to, vai piemērot prasmes, jautājums ir iegūt drošu un pareizu rezultātu.

Izstrādātājs aprūpe ir skaidrs un vienkāršs. Ir problēma, jums ir nepieciešams risinājums, nevis bug, piemēram, «JavaScript kļūda darbība ir nedrošs» , tukšu ekrānu, vai pārtraukt visus pārlūka dzinēju.

Ja arguments ir funkcija, tad attīstītājs nodot mainīgo ar speciālām īpašībām, kas nav cipars, ne virkne, nevis objekts. Bet izmantot šādu argumentu, var novest pie tā, ka mainīt ārējos mainīgos, un ir rezultāts funkciju izpildi. Atkarībā no izmaiņām, kas būs atbilstoša nodota.

Izpilde ģenerēto kodu

Ieviest izpildes ģenerēto kodu, kas darba gaitā citu kodu, tas ir iespējams, izmantojot «eval». Tas nav uzskatāms lielisks risinājums, bet bieži nevar sarežģīt kodu ar nevajadzīgām funkcijām, un ierobežot veidošanos triviāls līnijas JavaScript kodu un vienkārši izpildīt to.

Šajā piemērā, ieliktnis veidojas valdziņu uz operējamu div kādu informāciju. Diva un informācijas saturs dažādu skaitu dažādās pozīcijās, jo šāds lēmums šajā situācijā nenodrošina garantētu situāciju «javascript kļūdas darbība ir nedrošs» , bet stingri dod vēlamo efektu.

Nianse JavaScript paradigmas maiņa "funkciju funkciju"

Ja jūs varat darīt bez frills, tas ir labāk, lai izmantotu to. Visas šīs iespējas ir labas. Protams, daudzos gadījumos, tas ir vienīgais risinājums.

Klasisks piemērs rekursijas: faktoriālu. Tas ir pietiekami grūti uzrakstīt algoritmu, kas būs cilpa, bet tas ir ļoti vienkārši, jūs varat push aploksnes vērtības. Faktoriāls pieaug pārāk strauji.

Tomēr rekursijas, un funkcija prasa citu funkciju, kas var pieņemt pārdomātus atzvana - normālas lietas.

Piemēram, regulāri galda. Otra tabula var būt galda. Ligzdošanas nevar tikt ierobežotas. Rakstīt par katru galdu savu funkciju komplektu - pārāk daudz greznība.

Šādi piemēri ir daudz, un tas viss būs reāla un nospiežot problēma, nevis tāpēc, ka programmu. Tieši tāpēc problēma slēpjas tajā apstāklī, ka no-frills nav izveidojusi sistēmu funkcijas, precīzāk, tās atkļūdošanas un turpmāko uzticama darbība kļūst JavaScript aprūpi, un attīstītājs.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lv.birmiss.com. Theme powered by WordPress.