DatorerProgrammering

JavaScript: function funktion. Programmeringsspråk JS

Idéer dynamisk innehåll för att bilda web-resurser har blivit norm. Statiska sidor och mallar Webbdesign äntligen avslutat sitt uppdrag.

Däremot modern web-resurs inte representeras av en uppsättning sidor som genererats av servern och uppdatera webbläsaren (JS + AJAX).

Webbaserat arkiv vid tidpunkten för ankomsten av besökaren kan vara ett par titlar för posten, en del text i «huvud», några rader kod i «kroppen» och allt. Resten av "tänka" i processen för besökare - det är en idealisk plats, eller strävar efter att vara en.

Placera beskrivningen och typen av funktioner

опыт, наработаный многими десятилетиями. JavaScript - det är en upplevelse narabotany decennier. Den har en betydande historia av utveckling, moderna kvalificerat team skapare utvecklare. Språk väl genomtänkt, tillförlitlig, vacker och ger en verklig möjlighet för utvecklare att skriva kod för en anständig och självförbättring.

Begreppet en algoritm är en funktion här inte existerar i princip. Naturligtvis kan utvecklaren som helst på sidan för att infoga script kod för att sätta in det och det kommer att verkställas. страницы? Men vad är den punkt i koden som exekveras endast en gång: vid lastning (omlastning) sidan? Är det möjligt att ställa in initialvärden vad några obetydliga variabler.

Script - denna plats är rätt beskrivning av variabler och funktioner, snarare än en bra bit kod skriven för sin egen skull. Det är en uppsättning funktioner är nödvändig och viktig, kanske - deras inbördes direkt anslutning, men oftare är det annorlunda. Placera beskrivning av funktionen och platsen för dess tillämpning är inte samma sak.

Det är inte nödvändigt att funktionen kommer att ringa en annan funktion direkt, men det kan göras indirekt genom bildandet av dynamisk kod. En besökare fattar ett beslut inom denna kod och fungerar ganska olika systemfunktioner.

funktionella dynamik

Funktionella dynamik - är inte bara och inte så mycket hanterare tilldelats sidelement är funktioner som utgör delar av sidan, och de omedelbara hanterare också kan förändras.

Handlingen utspelar sig på sidan, beroende på elementen och besökarnas beteende på den. Förflyttning av mus, tangentbord, knappar, klick, händelser, föremål och andra omständigheter leda till lanseringen av nödvändiga funktioner.

Ursprungligen finns det ingen konsekvens och det finns ingen parallell. Det finns ett adekvat svar på händelserna web-resurs. Hur snabbt JavaScript fyller en viss funktion det beror på många tekniska (dator, kommunikationslinjer) och semantisk (logik algoritm ämnesområde, vilket innebär problemet) faktorer.

I själva verket kan man hävda att något har arbetat parallellt, men något blir efter något, men innebörden av denna speciella är det inte. Det är viktigt att JavaScript-funktionen - det är en möjlighet att skapa ett adekvat svar på de åtgärder för besökaren.

Detta nytänkande i designen: distribuerad bearbetning i djupet av en enda webbläsare!

Syntaxen för variabler och funktioner

JavaScript-variabler är placerade i etiketten «manus», och i själva funktionen. Funktioner definieras på samma sätt. Speciell betydelse för att skriva inuti funktionen finns det en annan funktion, men det kan vara nödvändigt av olika skäl, och det är helt rimligt.

Beskrivning av funktionen börjar i allmänhet med sökordet «funktionen», följt av namnet, en lista över argumenten inom parentes, separerade med kommatecken och funktionen kroppen hängslen.

I detta exempel, är två funktioner beskrivits att ge AJAX-utbyte mellan sidan och servern. Delvis scXHR beskrivs ovan, eftersom finns i både InitXML och inom WaitReplySC.

Funktionsnamnet och parametern "funktion"

Det har presenterats den asynkrona versionen när JavaScript-funktion funktionen anropas efter svar från servern. Sålunda, mottagning av ett svar från servern, WaitReplySC accessar sidan tagg, fyller den erhållna informationen och orsakar andra funktioner, som mycket väl kan initiera nästa begäran till servern.

Här är det också viktigt att notera att WaitReplySC - en funktion. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Men i linje scXHR.onreadystatechange = WaitReplySC det skickas som en parameter. Denna regel överföringsfunktionen till andra funktioner som parametrar. Spetsiga konsoler och gav dem sin parameter (s) - funktionen kommer att verkställas omedelbart. Berättad av namnet, och så vad. Samtals funktion kommer att göra en som fick sitt namn.

Funktionaliteten förs via AJAX, kan du ringa en JavaScript-funktion genom data som tas emot från servern. I själva verket skicka en begäran till servern, den ena eller den andra funktionen kanske inte alls "vet" vilken funktion hon vänder, och med vilken information.

Out funktion och dess resultat

Kroppen av funktionen kan du skriva något språk operatörer, som i själva verket, för den är avsedd. Inside funktioner variabler deklareras i och utanför, men inte de som beskrivs i andra funktioner.

Om du vill att funktionen för att returnera ett resultat, kan du använda JavaScript retur uttalande: avkastning. Kroppen av funktionen kan vara ett tillräckligt antal retur uttalanden. Det är inte nödvändigt att alla av dem kommer att returnera resultatet av samma typ.

Normalt är utvecklare vördade denna möjlighet och, beroende på situationen, besluta att dra sig ur funktion så snart som möjligt.

Det är inte nödvändigt att köra igenom hela algoritmen funktioner, när du kan få ut tidigare.

funktionsargument

Argument skickas till funktionslistan, separerade med kommatecken, är inneslutna i parenteser, och är strax efter hennes namn. Argumenten som används variabelnamn, men du kan skicka värden direkt. Att passera en JavaScript-funktion i en funktion, behöver du bara ange sitt namn utan parentes.

Inuti funktionen är tillgängliga variabla argument, som har en längd egendom. Du kan hänvisa till några argument funktion genom argument [0], argument [1], ... till de sista argument [arguments.length-1].

Ändra funktion argumentet är verkligen inne i funktion, men inte utanför. För att ändra något utanför funktionen måste operatören använda JavaScript avkastning genom vilken passerar önskat värde på utsidan.

Efter funktionen är klar, kommer allt som var förknippad med dess genomförande, förstöras. Under exekveringen av funktionen kan ändras externa variabler, förutom de som beskrivs i andra funktioner, inklusive de i det inre.

Vi har argument uppringda egendom, som är avsedd att anropa en funktion som utförs vid en given tidpunkt. Om orsaken själv, kommer JavaScript version av funktionen i funktionen genomföra rekursion.

med användning av funktioner

Det viktigaste funktioner - att tjäna händelsen webbläsare. För att göra detta nästan varje tagg har möjlighet att ange ett händelsenamn och funktion av dess tillverkning. Du kan ange flera händelser, men varje händelse visas bara en funktion.

En funktion kan hantera flera sidelement och några händelser. Genom «här» alternativet kan du överföra informationen funktion där det hette.

Den klassiska användningen av JS-funktioner - de händelsehanterare på elementen. I detta exempel scfWecomeGo () funktionen eller scfWelcomeCancel () anropas i ingångs / utgångsform av besökaren, och vid val av driftsätt scfMenuItemClick (detta).

I det senare fallet, till parametern passerade «här», som låter dig mirakulöst lära av vad som är diva hette. Egentligen är JavaScript så kvalitativt implanteras i DOM, och det är så bekvämt låter dig navigera dess beståndsdelar, för att samla in den information som krävs att sidorna dynamiken helt enkelt kan vara oförutsägbara.

Funktionen behöver inte returnera en sträng, nummer eller annan funktion. Det kan returnera en fullständig HTML-element, och som är erforderligt antal element, med sina hanterare, sina evenemang.

Genom att placera ett element på sidan, skapar utvecklaren en ny funktion som är bra när det gäller att lösa problemet och träffa intressen gästerna, men ganska svårt när det gäller genomförandet.

Eftersom utvecklingen av en sådan fullt fungerande, lätt att gå vilse i inbyggd kod i funktionsanrop, i stunder när bildas eller att innehållet i en eller annan på sidan. Innan en sådan riktning i utvecklingen, inte hindra en väl väga allt.

Om fördelningen av tänkande

Utvecklaren måste tänka på samma nivå som alla delar av sidan, i alla fall, och har en tydlig presentation av hur allt faktiskt händer. Det är svårt, men arbetet är värt det.

I JavaScript kan funktionen fördröjas tills någon händelse, och sådana funktioner kan vara många och händelser har en tendens att sprida sig och komma in i "sfär synlighet" av de olika processorerna.

I det här exemplet någonstans innan funktionen kallades, som inledde ett objekt filnavigeringsmenyn. Det antas ökning, det vill säga i fönstret bara sju filer, som kan tas bort och bearbetas. Kan flyttas som en fil genom att klicka på raden, och piltangenterna och blockerar sju rader.

I varje fall har sin egen funktion. Med andra ord, i detta enkla exempel måste du skriva ett par av dussintals funktioner som kommer att reagera på olika evenemang, och en del av dessa funktioner kommer att hantera en mängd olika alternativ och situationer som de händelser som inte tillhörde.

Till exempel, när du tar bort den nedersta raden måste förskjutas uppåt. Detta kommer att kräva antingen göra ett nytt val som vanligt förekommande och helt klart en resurs, eller att räkna linjer använda en JavaScript-funktion på matrisen och att uppnå målet elegant.

Argumenten och resultat av funktioner

JavaScript kan du ta koden till "fullfjädrad" status. Normalt när argumentet för funktionen är funktionen. Tillåten alternativ, returnerar funktionen en funktion. JavaScript tar det ganska lugnt.

Detta är en bra mekanism, men ganska komplicerad i förhållande till genomförandet. Tekniskt tillåten semantiskt ge "funktionellt" logik växellåda av en kvalificerad utvecklare.

När en JavaScript-funktion i en funktion - okej, men när funktionen genererar en funktion, och att en annan, är ganska svårt att följa logiken. I själva verket är frågan inte om att tillämpa den kompetens, är frågan för att få en säker och korrekt resultat.

Developer vård är tydlig och enkel. Det finns ett problem, behöver du en lösning, inte en bugg som «JavaScript fel operationen är osäker» , en tom skärm eller stoppa all webbläsarmotor.

Om argumentet är en funktion, då utvecklaren att passera en variabel med speciella egenskaper, det är inte ett nummer, inte en sträng, inte ett objekt. Men användningen av ett sådant argument kan leda till att ändra externa variabler och är resultatet av exekvering av funktionen. Beroende på de förändringar som kommer att vara tillräckligt överförts.

Utförande av genererade koden

Implementera körning av kod som genereras i samband med arbetet annan kod, är det möjligt med hjälp av «eval». Det anses inte vara en utmärkt lösning, men ofta kan inte komplicera koden med onödiga funktioner och för att begränsa bildandet av triviala raden av JavaScript-kod och helt enkelt köra den.

I detta exempel, är insatsen formad söm i manövrerbar div viss information. Diva och innehåll för olika antal olika positioner information, eftersom ett sådant beslut i denna situation inte ger en garanterad situation «javascript fel operationen är osäker» , men bestämt ge önskad effekt.

Nuance JavaScript paradigmskifte "-funktionen i funktionen"

Om du kan göra utan krusiduller, är det bättre att använda den. Alla dessa alternativ är bra. Naturligtvis i många fall är det den enda lösningen.

Ett klassiskt exempel på rekursion: fakulteten. Det är svårt nog att skriva en algoritm som kommer slinga, men det är mycket enkelt, du kan tänja på gränserna värdena. Fakultet växer för fort.

Men samtal rekursion, och funktionen en annan funktion, vilket kan göra informerade callback - normala saker.

Till exempel, en vanlig tabell. Den andra tabellen kan vara ett bord. Nesting kan inte begränsas. Skriv för varje tabell sin egen uppsättning funktioner - för mycket lyx.

Sådana exempel är många, och allt detta kommer att bli en verklig och pressning problem, inte på grund av programmering. Det är anledningen till att problemet ligger i det faktum att inga krusiduller inte inrätta ett system av funktioner, närmare bestämt dess felsökning och efterföljande tillförlitlig drift blir JavaScript vård och Developer.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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