Typer af flowkontrolstrukturer i JavaScript

Indholdsfortegnelse

I dag vil vi se flowkontrolstrukturer, også kaldet simpelthen kontrolstrukturer eller især iterative strukturer. Disse instruktioner er meget interessante og bruges, da de udvikler konceptet fra program til intelligent program.

Hvorfor?

Hvis vi ikke bruger flowkontrolstrukturer, er et program enkelt. Det er et program, der i første omgang kun bruger variabler og operatorer i det, vi kan kalde en række instruktioner i lineær tid, det vil sige den ene efter den anden.
Ved at introducere de strukturer, som vi vil se nedenfor, ophører vores program med at være en ren lineær sekvens af ineffektive instruktioner for at blive et program, der er i stand til at træffe beslutninger afhængigt af værdien af ​​de variabler, det håndterer, derfor kaldes de "intelligente" .

Det iterative strukturer de kaldes så fordi instruktionerne skal udføres kan gentages en eller flere gange. Der er en lang række forskellige iterative strukturer med deres særpræg, men de har alle noget tilfælles, de har et enkelt indgangspunkt, det vil sige, at de aktiveres, når de indtaster data.

Nu vil vi se forskellige typer iterative strukturer i JavaScriptSelvom der i virkeligheden på alle eller næsten alle programmeringssprog stort set er de samme strukturer og tjener de samme formål, er forskellen den måde, de skrives på, det vil sige syntaksen.

Vi starter med den iterative struktur, som måske er den enkleste og også den mest anvendte. Vi mener strukturen hvis.

IF strukturJeg siger, at det er det enkleste siden introduktionen af ​​oplysningerne og efter at have kontrolleret det, hvad vores program gør, er, at hvis den på forhånd fastlagte betingelse er opfyldt, udfører vi den eller de sætninger, som du har foruddefineret i koden. På den anden side, hvis denne betingelse ikke er opfyldt, forlader den strukturen og udfører ikke den kode, der følger med den.

Et eksempel med Javascript -kode er følgende:

 Hvis (x) {alert ("Værdien er sand"); } 
Så simpelt som det. Det eneste, vi siger, er, at hvis den variabel, vi indtaster (x) er sand, skal du skrive "Værdien er sand", og hvis den ikke er sand, skal du ikke skrive noget. Det kan også udtrykkes med If (x == true) være meget vigtigt ikke at forveksle == operatoren, der sammenligner begge værdier med = Hvad den gør er at tildele værdien til venstre værdien til højre.

Denne struktur i sig selv bruges til at validere enhver form for informationsinput på en meget tilbagevendende måde, men den ledsages normalt af en anden struktur kaldet andet.
Ellers bruges som et supplement til, hvis siden, hvis betingelsen, der er fastsat af if ikke er opfyldt, og den fortsætter med andet, udsagnet eller udsagnene, der er knyttet til kontrolstrukturen, automatisk udføres, som det kan ses i følgende eksempel:

 Hvis (x) {alert ("Værdien er sand"); } else {alert ("Værdien er falsk"); } 
Som i det foregående eksempel, hvis de indtastede data, x, er sande, skal du skrive "Værdien er sand." Forskellen med det foregående eksempel, hvor hvis x ikke var sandt, det ikke gjorde noget, er, at nu som det går til andet, skriver det direkte "Værdien er falsk".
Dette er meget nyttigt, hvis oplysningerne kun kan være sande eller falske, sorte eller hvide, ja eller nej eller en anden binær kombination eller den ene eller den anden. Imidlertid er der normalt det tilfælde, hvor vi vil vide, om de data, vi indtaster, opfylder nogen af ​​flere betingelser, der er eksklusiveFor eksempel hvis vi vil vide, om vores spiller er en forsvarsspiller, midtbanespiller, målmand eller angriber. Det vil altid kun være en af ​​de fire ting, og her fungerer det med hvis og andet ikke for os.
I dette tilfælde kan vi bruge ellers hvis struktur hvad betyder det hvis ikke. Vi kan bruge alt det andet, hvis vi altid vil efter vores første if -struktur og før den sidste, hvilket vil være andet, som vi kan se i følgende kode:
 If (spiller == målmand) {alert ("Spilleren er målmand"); } ellers hvis (spiller == forsvar) {alert ("Spilleren er forsvar"); } ellers hvis (spiller == midtbanespiller) {alert ("Spilleren er en midtbanespiller"); } else {alert ("Spilleren er fremad"); } 
På denne måde kontrollerer programmet først, om det er en målmand. Hvis det er, skriver det det, hvis det ikke går til det første, hvis det skal kontrolleres, om det er forsvar. Hvis det er, så skriv det ned. Hvis han ikke er det, går han til den næste blok for at kontrollere, om han er en midtbanespiller. Hvis det er, så skriv det ned. Hvis den ikke er en af ​​de tre muligheder, går den ind i den sidste blok.

De strukturer, som vi lige har set, ender ikke med at være effektive, hvis kontrollerne er meget gentagne, i hvilket tilfælde andre kontrolstrukturer som f.eks. mens eller gør mens for:

WILE loopDenne struktur er det, der er kendt som mens (som er den bogstavelige oversættelse fra engelsk) i algoritme. Og som dens egen betydning siger, er det en loop, der udfører instruktionerne mens betingelsen eller betingelserne forbliver sande, så længe den fortsætter med at returnere "sand" som en værdi.
Derfor er struktur af nævnte sløjfe er meget enkel:
mens (tilstand)
{
instruktioner;
}

EN enkelt eksempel i JavaScript det kan være følgende:

 var tæller = 1; mens (num <5) {alert ("num"); num + = 1; } 
Dette er så simpelt som at tilføje en ad gangen til vores variabel num, indtil den når 5.
Hvad sker der, hvis betingelsen ikke er opfyldt, før du går ind i sløjfen?

At løkken aldrig vil køre. Og her kommer vi til en speciel type af while loop kaldet gøre imens. Denne struktur bruges, hvis vi ønsker, at programmet skal indtaste loop mindst én gang. Den bogstavelige oversættelse er do… så længe den gør det mindst én gang, skal du indtaste loopet.

Hvorfor kommer det altid ind i vores loop mindst én gang?

Fordi som vi vil se nedenfor, er betingelsen for at udføre sløjfen udført efter at have gjort det. Det lyder måske kompliceret, men vi vil se, at det er meget enkelt:

 var fakta = 1; var num = 10; gør {fact = num * fact; num--; } mens (num> 0); alarm (num); 
Det ville være eksemplet.

Hvad sker der i dette eksempel?

Det går først ind i sløjfen og laver to instruktioner, multiplicerer resultatet med tallet og reducerer derefter tallet. Denne proces gentager det, indtil vores nummer er 1. Når du forlader sløjfen, skal du skrive det nummer, der oprindeligt var 10 og nu er 1.
Denne loop kunne derefter skrives nøjagtig det samme med while. På den anden side, hvis i initialiseringen var num = 0; går ind i loop, gør instruktionerne og num forbliver med værdien -1, hvilket ikke ville ske med mens det ikke ville komme ind i loop, og på denne måde har det gjort det en gang.
Dette er naturligvis et meget simpelt eksempel med lidt brug, men når man programmerer det er det meget interessant, hvis vi vil have en menu vist mindst én gang.

Efter at have set det mens og gør mens loop, skal vi se, hvad jeg synes er det mest anvendte i programmering. Vi taler om den berømte loop til.

FOR strukturDet er den mest anvendte sløjfe for sin effektivitet, selvom den er mere kompleks end de tidligere iterative strukturer.
Den har følgende form:

for (rækkefølge af initialisering; tilstand; Rækkefølge af opdatering)
{
Instruktioner til udførelse
}

Og hans betjeningen er meget enkel:
I den første del af sløjfen initialiseres en eller flere variabler, det vil sige, at de får en værdi. Efter det første semikolon defineres den betingelse, der skal være opfyldt for at udføre instruktionerne. Og den sidste del af parentesen, opdateringen, er den værdi, der vil blive tildelt de variabler, der er blevet initialiseret.
Meget enkel, så længe den angivne betingelse er opfyldt, udføres instruktionerne inde i for -løkken. Efter udførelsen opdaterer vi værdien af ​​de variabler, der bruges i tilstanden.
Nu skal vi se et eksempel skrevet i Javascript:

 for (i = 0; i <10; i ++) {alert ("Det er stadig mindre end 10"); } 
Vi har oprettet og initialiseret variablen i med værdien 0. Det er vigtigt at huske på, at denne del af sløjfen kun udføres første gang, resten af ​​gange tager den ikke højde for den, da den kun initialiseres én gang . Vores tilstandszone er så længe jeg er mindre end 10, og derfor vil vores sløjfe gentage sig, indtil i ikke længere er mindre end 10.
Nu er det, når opgraderingszonen spiller ind. Hvis værdien af ​​i ikke blev ændret, da vi har initialiseret den til 0, ville det blive en uendelig loop.
I vores opdateringszone ændrer vi værdien af ​​vores variabel. I eksemplets tilfælde øges værdien af ​​i hver gang sløjfen udføres med 1, men andre instruktioner såsom multiplikation, subtraktion osv. Kan også indstilles.

Det til sløjfe er meget nyttig i programmeringsverdenen, og selvom det er mindre almindeligt, er der et specielt tilfælde, der kræves i. Selvom dette normalt bruges til programmering af objekter, der allerede er ret avancerede, er den brug, der kan foretages i arrays, interessant.
Sløjfe for i hvad den gør er at gå igennem en matrix, der passerer gennem alle dens elementer effektivt. Defineret en matrix, koden er som følger:

 var array = ["Første", "Anden", "Tredje", "Fjerde"]; for (i i arrays) {alert ("Course: array (i)"); } 
Han skriver alle de tilgængelige kurser fra den første til den fjerde.

Endelig vil vi tale om en anden af ​​de mest anvendte flowkontrolstrukturer, der er switch loop, hvilket betyder at vælge på engelsk.

SWITCH loopVi bruger denne struktur næsten, når vi vil lave en menu med dens forskellige muligheder. Det er en slags optimering af gentagelsen af ​​de andre hvis sløjfer, som vi så før, og som fungerer meget bedre og uden at være overflødig. Vi bruger det til de tidspunkter, hvor vi vil foretage flere kontroller af den samme variabel, det vil sige at vælge en egenskab frem for en variabel, der udelukker den fra at have en anden.

Det skifte form er det næste:

 switch (letter) {case a: anvisninger; pause; sag b: vejledning; pause; sag c: vejledning; pause; sag d: vejledning; pause; standard: instruktioner; pause; } 
Den forrige loop sendes en variabel, i dette tilfælde brev. Den kontrollerer denne variabel og afhængigt af hvilken den indtaster og udfører den ene eller den anden instruktion og forlader derefter sløjfen. For at indtaste hver af de tilgængelige indstillinger i vores bogstavvariabel bruges det reserverede word case. Sløjfen forlades ved hjælp af søgeordet pause, som er et spring instruktion, som afbryder eller ændrer programmets flow, i dette tilfælde at tvinge sløjfeudgangen for tidligt. Det er imidlertid ikke obligatorisk at indtaste dette ord.

På denne måde ville vi ikke afbryde programmets flow og kontrollere resten af ​​mulighederne (som vi ved ikke vil være sandt) så det vil være mindre optimalt. Det er meget vigtigt at bemærke, at kontroller udføres i rækkefølgeDerfor, hvis vi ved, hvilken eller hvilke muligheder der skal bruges mest, er det bedre, at vi placerer dem først.
Det standard værdi at vi ser i koden er den, der bruges, hvis den indtastede værdi ikke matcher noget tilfælde. I så fald hopper den automatisk til standard. Det er dog ikke obligatorisk at inkludere standard i vores kode.

Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave