Idag kommer vi att se flödeskontrollstrukturer, även kallade helt enkelt kontrollstrukturer eller särskilt iterativa strukturer. Dessa instruktioner är mycket intressanta och används när de utvecklar konceptet från program till intelligent program.
Varför?
Om vi inte använder flödeskontrollstrukturerna är ett program enkelt. Det är ett program som till en början endast använder variabler och operatörer i vad vi kan kalla en sekvens av instruktioner i linjär tid, det vill säga en efter en.
Genom att introducera de strukturer som vi kommer att se nedan, upphör vårt program att vara en ren linjär sekvens av ineffektiva instruktioner för att bli ett program som kan fatta beslut beroende på värdet av de variabler det hanterar, därför kallas de "intelligenta" .
De iterativa strukturer de kallas så eftersom instruktionerna som ska utföras kan upprepas en eller flera gånger. Det finns en mängd olika typer av iterativa strukturer med deras särdrag, men de har alla något gemensamt, de har en enda ingångspunkt, det vill säga att de aktiveras när du anger data.
Nu får vi se olika typer av iterativa strukturer i JavaScriptÄven om det i verkligheten finns i alla eller nästan alla programmeringsspråk i princip samma strukturer och tjänar samma syften, är skillnaden hur de skrivs, det vill säga syntaxen.
Vi börjar med den iterativa strukturen, som kanske är den enklaste och också den mest använda. Vi menar strukturen om.
IF -strukturJag säger att det är det enklaste sedan introduktionen av informationen och efter att ha verifierat vad vårt program gör är att om det förutbestämda villkoret är uppfyllt, kör vi den eller de meningar som du har fördefinierat i koden. Å andra sidan, om detta villkor inte är uppfyllt, lämnar det strukturen och kör inte koden som följer med det.
Ett exempel med Javascript -kod är följande:
Om (x) {alert ("Värdet är sant"); }Så enkelt som det. Det enda vi säger är att om variabeln vi anger (x) är sant, skriv "Värdet är sant" och om det inte är sant, skriv inte något. Det kan också uttryckas med If (x == true) är mycket viktigt att inte förväxla == operatören som jämför båda värdena med = Vad det gör är att tilldela värdet till vänster värdet till höger.
Denna struktur i sig används för att validera vilken typ av information som helst på ett mycket återkommande sätt, men den åtföljs vanligtvis av en annan struktur som kallas annan.
Annat används som ett komplement till om sedan om villkoret som fastställts av if inte är uppfyllt och det fortsätter med annat, uttalandet eller uttalanden som är associerade med kontrollstrukturen exekveras automatiskt som kan ses i följande exempel:
Om (x) {alert ("Värdet är sant"); } else {alert ("Värdet är falskt"); }Som i föregående exempel, om de angivna data, x, är sanna, skriv "Värdet är sant." Skillnaden mot föregående exempel där om x inte var sant att det inte gjorde någonting är att nu när det går till annat skriver det direkt "Värdet är falskt".
Detta är mycket användbart om informationen bara kan vara sann eller falsk, svart eller vit, ja eller nej, eller någon annan binär kombination, eller den ena eller den andra. Det finns dock vanligtvis det fallet där vi vill veta om de data vi anger fyller något av flera villkor som är exklusivaTill exempel om vi vill veta om vår spelare är en försvarare, mittfältare, målvakt eller forward. Det kommer alltid att bara vara en av de fyra sakerna och här fungerar inte med och om inte annat för oss.
I det här fallet kan vi använda annars om struktur vad betyder det om inte. Vi kan använda allt annat om vi alltid vill efter vår första if -struktur och före den sista, vilket blir annat, som vi kan se i följande kod:
If (spelare == målvakt) {alert ("Spelaren är målvakt"); } annars if (spelare == försvar) {alert ("Spelaren är försvar"); } annars if (spelare == mittfältare) {alert ("Spelaren är en mittfältare"); } else {alert ("Spelaren är framåt"); }På så sätt kontrollerar programmet först om det är en målvakt. Om det är det, skriver det det, om det inte går till det första om du vill kontrollera om det är försvar. Om det är det, skriv ner det. Om han inte är det, går han till nästa block för att kontrollera om han är en mittfältare. Om det är det, skriv ner det. Om det inte är något av de tre alternativen går det in i det sista blocket.
De strukturer som vi just har sett slutar inte vara effektiva om kontrollerna är mycket repetitiva, i så fall andra kontrollstrukturer som t.ex. medan eller gör medan för:
WILE loopDenna struktur är vad som kallas medan (som är den bokstavliga översättningen från engelska) inom algoritmik. Och som sin egen mening säger är det en loop som kör instruktionerna medan villkoret eller villkoren förblir sanna, så länge det fortsätter att returnera "sant" som ett värde.
Därför strukturera av nämnda slinga är mycket enkel:
medan (skick)
{
instruktioner;
}
A enkelt exempel i JavaScript det kan vara följande:
var räknare = 1; medan (num <5) {alert ("num"); num + = 1; }Detta är så enkelt som att lägga till en i taget till vår variabel num tills den når 5.
Vad händer om villkoret inte är uppfyllt innan du går in i slingan?
Att slingan aldrig kommer att gå. Och här kommer vi till en speciell typ av while loop som kallas göra medan. Denna struktur används om vi vill att programmet ska gå in i slingan minst en gång. Den bokstavliga översättningen är gör … så länge det gör minst en gång, gå in i öglan.
Varför kommer det alltid in i vår slinga minst en gång?
För som vi kommer att se nedan görs villkoret för att köra slingan efter att ha gjort det. Det kan låta komplicerat men vi kommer att se att det är väldigt enkelt:
var fakta = 1; var num = 10; gör {fakta = num * faktum; num--; } medan (num> 0); varning (num);Det skulle vara exemplet.
Vad händer i det här exemplet?
Det går först in i slingan och gör två instruktioner, multiplicera resultatet med talet och sedan minska antalet. Denna process upprepar det tills vårt nummer är 1. När du går ur slingan skriver du numret som ursprungligen var 10 och nu är 1.
Denna loop kan sedan skrivas exakt samma sak med while. Å andra sidan, om i initialiseringen var num = 0; går in i slingan, gör instruktionerna och num stannar med värdet -1, vilket inte skulle hända med medan det inte skulle gå in i slingan, och på detta sätt har det gjort det en gång.
Uppenbarligen är detta ett mycket enkelt exempel med liten användning, men vid programmering är det mycket intressant om vi vill att en meny ska visas minst en gång.
Efter att ha sett stunden och göra medan loop, ska vi se vad jag tycker är det mest använda i programmering. Vi pratar om den berömda slingan för.
FÖR strukturDet är den mest använda slingan för sin effektivitet, även om den är mer komplex än de tidigare iterativa strukturerna.
Den har följande form:
för (ordning på initialisering; tillstånd; ordning på uppdatering)
{
Instruktioner att utföra
}
Och hans driften är mycket enkel:
I den första delen av slingan initieras en eller flera variabler, det vill säga att de ges ett värde. Efter det första semikolon definieras villkoret som måste uppfyllas för att utföra instruktionerna. Och den sista delen av parentesen, uppdateringen, är värdet som kommer att tilldelas de variabler som har initierats.
Mycket enkelt, så länge det angivna villkoret är uppfyllt, utförs instruktionerna inuti för -slingan. Efter att ha kört det uppdaterar vi värdet på de variabler som används i villkoret.
Nu ska vi se ett exempel skrivet in Javascript:
för (i = 0; i <10; i ++) {alert ("Det är fortfarande mindre än 10"); }Vi har skapat och initierat variabeln i med värdet 0. Det är viktigt att komma ihåg att denna del av slingan bara utförs första gången, resten av gånger tar den inte hänsyn till den eftersom den bara initieras en gång . Vår tillståndszon är så länge som i är mindre än 10, och därför kommer vår slinga att upprepas tills i inte längre är mindre än 10.
Nu är när uppgraderingszonen spelar in. Om värdet på i inte ändrades, eftersom vi har initierat det till 0, skulle det bli en oändlig slinga.
I vår uppdateringszon ändrar vi värdet på vår variabel. I fallet med exemplet, varje gång slingan körs, ökar värdet på i med 1, men andra instruktioner som multiplikation, subtraktion etc. kan också ställas in.
De för slinga är mycket användbart i programmeringsvärlden, och även om det är mindre vanligt finns det ett speciellt fall som krävs. Även om detta vanligtvis används vid programmering av objekt som redan är ganska avancerade, är användningen som kan göras i matriser intressant.
Slinga för in vad den gör är att gå igenom en array som passerar igenom alla dess element effektivt. Definierade en matris, koden är följande:
var array = ["Första", "Andra", "Tredje", "Fjärde"]; för (i i matriser) {alert ("Course: array (i)"); }Han skriver alla tillgängliga kurser från den första till den fjärde.
Slutligen kommer vi att prata om en annan av de mest använda flödeskontrollstrukturerna som är omkopplingsslingan, vilket innebär att välja på engelska.
SWITCH -slingaVi använder den här strukturen nästan när vi vill göra en meny med dess olika alternativ. Det är en slags optimering av upprepningen av de andra om slingor som vi såg tidigare och som fungerar mycket bättre och utan att vara överflödiga. Vi använder det för de gånger som vi vill göra flera kontroller av samma variabel, det vill säga att välja en egenskap framför en variabel som utesluter den från att ha en annan.
De växla form är nästa:
switch (bokstav) {case a: anvisningar; ha sönder; fall b: instruktioner; ha sönder; fall c: instruktioner; ha sönder; fall d: instruktioner; ha sönder; standard: instruktioner; ha sönder; }Den föregående slingan skickas en variabel, i detta fall brev. Den kontrollerar denna variabel och beroende på vilken den går in i och utför den ena eller den andra instruktionen och lämnar sedan slingan. För att ange vart och ett av de tillgängliga alternativen i vår bokstavsvariabel används det reserverade ordfallet. Slingan avslutas med hjälp av brytordet, som är en hoppinstruktion, som avbryter eller modifierar programmets flöde, i detta fall tvingar slingans utgång i förtid. Det är dock inte obligatoriskt att ange detta ord.
På så sätt skulle vi inte minska programmets flöde och kontrollera resten av alternativen (som vi vet kommer inte att vara sant) så det blir mindre optimalt. Det är mycket viktigt att notera det kontroller görs i ordningDärför, om vi vet vilket eller vilka alternativ som kommer att användas mest, är det bättre att vi placerar dem först.
De standardvärde som vi ser i koden är den som används om det angivna värdet inte matchar något fall. I så fall hoppar det till standard automatiskt. Det är dock inte obligatoriskt att inkludera standard i vår kod.