I del en av denna serie skrevs våra program bara som en följd av uttalanden. Denna struktur begränsar allvarligt vad vi kan göra. Säg att du utformar ett program som behöver logga in användare. Du kanske vill rikta en användare till en sida om de ger rätt uppgifter och skickar dem till en annan om de inte är registrerade.
För att göra detta måste du använda en beslutsstruktur som ett if-uttalande. Detta kommer endast att utföra en åtgärd under vissa förutsättningar. Om villkoret inte existerar, utförs åtgärden inte. I den här handledningen lär du dig information om conditionals.
Ett enda om uttalande kommer att utföra en åtgärd om ett villkor är sant. Om villkoret är felaktigt, kommer programmet att exekvera nästa uttalande som ligger utanför if-blocket. I följande exempel, om uttrycket det regnar()
är sant, då ska vi putOnCoat ()
och putOnRainboots ()
sedan gå ut()
. Om det regnar()
är felaktigt, kommer programmet bara att utföras gå ut()
.
om (isRaining) putOnCoat (); putOnRainboots (); gå ut();
Detta är den allmänna formen för att skriva ett if-uttalande:
om (villkor) uttalande; påstående; etc.
De tillstånd är ett uttryck som har värdet true eller false. Ett uttryck som är sant eller falskt kallas ett booleskt uttryck. Booleska uttryck är gjorda med relationella operatörer.
En relationell operatör jämför två värden och bestämmer om förhållandet mellan dem är sant eller falskt. De kan användas för att skapa booleska uttryck för våra förhållanden. Här är en lista över relationsoperatörer med exempel:
Operatör | Menande | Exempel | Menande |
---|---|---|---|
== | jämlikhet | x == y | Är x lika med y? |
=== | strikt jämlikhet | x === y | Är x lika med y i värde och typ? |
!= | olikhet | x! = y | Är x inte lika med y? |
!== | strikt ojämlikhet | x! == y | Är x inte lika med y i värde och typ? |
> | större än | x> y | Är x större än y? |
< | mindre än | x < y | Är x mindre än y? |
> = | större än eller lika med | x> = y | Är x större än eller lika med y? |
<= | mindre än eller lika med | x <= y | Är x mindre än eller lika med y? |
Det är viktigt att notera skillnaden mellan likhetsoperatören ==
och den strikta jämställdhetsoperatören ===
. Till exempel uttrycket 2 == "2"
är sant. Men uttrycket 2 === "2"
är falskt. I det andra exemplet är de två värdena olika datatyper, och det är därför uttrycket är falskt. Det är bästa praxis att använda ===
eller !==
.
Följande exempel visar meddelandet "Du får en A".
låt klass = 93; om (betyg> = 90) console.log ("Du får ett A");
Vad är värdet av uttrycket 5> 3? 6! = "6"?
Ett if-else-uttalande kommer att utföra ett block av uttalanden om dess villkor är sant, eller ett annat block om dess villkor är felaktigt. Följande exempel visar meddelandet "Giltigt användarnamn" eftersom villkoret är sant.
låt användarnamnet = "alberta"; om (användarnamn === "alberta") console.log ("giltigt användarnamn"); else console.log ("Felaktigt användarnamn. Försök igen.");
Detta är den allmänna formen av ett if-else-uttalande:
om (villkor) uttalande; påstående; etc. else statement; påstående; etc.
Vad blir resultatet av detta program:
låt isLoggedIn = false; om (isLoggedIn) console.log ("Welcome"); else console.log ("Du är inte inloggad");
Det är också möjligt att kontrollera mer än ett tillstånd. Exempel:
låt num = 3; om (num === 1) console.log ("I"); annars om (num === 2) console.log ("II"); annars om (num === 3) console.log ("III"); annars om (num === 4) console.log ("IV"); annars om (num === 5) console.log ("V"); else console.log ("Ogiltig inmatning");
Detta är den allmänna formen för att skriva flera if-else-if-uttalanden:
om (villkor1) uttalande; påstående; etc. annars om (villkor2) uttalande; påstående; etc. else statement; påstående; etc.
En omkopplingsdeklaration används också för att villkorligt genomföra en del av ditt program. Följande exempel implementerar vår romerska talomvandlare som ett omkopplingsdeklaration:
låt num = 3; switch (num) case 1: console.log ("I"); ha sönder; fall 2: console.log ("II"); ha sönder; fall 3: console.log ("III"); ha sönder; fall 4: console.log ("IV"); ha sönder; fall 5: console.log ("V"); ha sönder; standard: console.log ("Ogiltig inmatning");
Det här är den allmänna formen av ett omkopplingsdeklaration:
växla (uttryck) case value1: statement; påstående; etc. brytning; fallvärde2: uttalande; påstående; etc. brytning; standard: uttalande; påstående; etc.
Varje fall representerar ett värde som vårt uttryck kan ta. Endast koden av det fall som är sant kommer att utföras. Vi inkluderar ett raderingsdeklaration i slutet av kodblocket så att programmet avslutar omkopplingsdeklarationen och utför inte några andra fall. Standardfallet körs när ingen av de andra fallen är sanna.
Skriv ett omkopplingsdeklaration som visar veckodagen med ett nummer. Till exempel, 1 = söndag, 2 = måndag etc.
Operatören &&
och eller operatören ||
Låt oss ansluta två booleska uttryck. Den ej operatören !
förnekar ett uttryck. För att illustrera hur logiska operatörer arbetar, ser vi på ett sanningstabell. En sanningstabell innehåller alla kombinationer av värden som används av operatörerna. jag använder P för att representera det vänstra uttrycket och Q för höger uttryck.
&&
sanningstabell:
P | Q | P && Q |
---|---|---|
Sann | Sann | Sann |
Sann | falsk | falsk |
falsk | Sann | falsk |
falsk | falsk | falsk |
Vi läser bordet som går över varje rad. Den första raden berättar att när P är sant och Q är sant, P && Q är sant. Följande exempel tester om 82 är mellan 60 och 100 inklusive.
||
sanningstabell:
P | Q | P || Q |
---|---|---|
Sann | Sann | Sann |
Sann | falsk | Sann |
falsk | Sann | Sann |
falsk | falsk | falsk |
Detta exempel testar om 82 ligger utanför intervallet 60-100:
!
sanningstabell:
P | !P |
---|---|
Sann | falsk |
falsk | Sann |
Exempel:
Fyll i tabellen med de saknade värdena.
P | Q | !P | !Q | !P &&! Q | !P || ! Q |
---|---|---|---|---|---|
Sann | Sann | ||||
Sann | falsk | ||||
falsk | Sann | ||||
falsk | falsk |
Något som är användbart att veta om logiska operatörer är det om uttrycket på vänster sida av &&
Operatören är felaktig, uttrycket till höger kommer inte att kontrolleras eftersom hela uttalandet är felaktigt. Och om uttrycket på vänster sida av en ||
Operatören är sann, uttrycket till höger kommer inte att kontrolleras eftersom hela uttalandet är sant.
Ett program kan exekvera block av kod villkorat med booleska uttryck. Ett booleskt uttryck skrivs med relationsoperatörer. Logiska operatörer tillåter oss att kombinera booleska uttryck.
En enda omklaring ger programmet en alternativ väg att ta om ett villkor är uppfyllt. Om-annat uttalanden ger en andra åtgärd om villkoret är felaktigt. Och om-annat-om uttalanden tillåter oss att testa flera villkor. Omkopplingsdeklarationer kan användas som ett alternativ till ett if-else-if-meddelande när du har flera villkor att testa.
Därefter kommer vi i del 3 att diskutera loopar.