JavaScript Häckning IF-uttalanden

Nesting om annat uttalanden hjälper till att organisera och isolera förhållanden för att undvika att testa samma tillstånd två gånger eller för att minimera antalet gånger olika test behöver utföras.

Genom att använda om uttalanden med både jämförelse och logiska operatörer, kan vi ställa in kod som körs om en specifik kombination av villkor är uppfylld. Vi vill inte alltid testa hela villkoret för att köra en uppsättning uttalanden om hela testet är sant och ett annat om det är falskt. Vi kanske vill välja mellan flera olika uttalanden, beroende på vilken speciell kombination av betingelser är sant.

Anta till exempel att vi har tre värden att jämföra och vill ställa in olika resultat beroende på vilka av värdena som är lika. Följande exempel visar hur vi kan bo om uttalanden att testa för detta (i fetstil nedan)

var svar;

if (a == b) {

if (a == c) {

answer = "alla är lika";
} annat {
answer = "a och b är lika";
}
} annat {

 if (a == c) {

 answer = "a och c är lika";

 } annat {

if (b == c) {

answer = "b och c är lika";
} annat {
answer = "alla är olika";
}
 }

}

instagram viewer

Så här logiken fungerar här är:

  1. Om det första villkoret är sant (
    if (a == b)
    ), sedan kontrollerar programmet om kapslade om tillstånd (
    if (a == c)
    ). Om det första villkoret är felaktigt stöter programmet till annan tillstånd.
  2. Om kapslade om är sant, uttalandet körs, dvs. "alla är lika".
  3. Om kapslade om är falskt, då annan uttalande exekveras, dvs. "a och b är lika".

Här är några saker att märka hur detta kodas:

  • Först skapade vi variabeln svar att hålla resultatet innan vi började om uttalande, vilket gör variabeln global. Utan detta skulle vi behöva inkludera variabeln på framsidan av alla uppdragsuppdrag, eftersom det skulle vara en lokal variabel.
  • För det andra har vi inrymt varje kapslade om påstående. Detta gör att vi lättare kan spåra hur många kapslade nivåer av uttalanden som finns. Det gör det också tydligare att vi har stängt rätt antal blockblock för att slutföra alla om uttalanden som vi öppnade. Du kanske tycker att det är lättare att placera hängslen först där för varje om uttalande innan du börjar skriva koden som hör till det blocket.

Vi kan förenkla ett avsnitt av den här koden något för att undvika att hoppa till om uttalanden ganska lika mycket. Där en hel annars blockera består av en singel om uttalande, kan vi utelämna hängslen runt det blocket och flytta om konditionera sig upp på samma linje som annan, med villkoret "annat om". Till exempel:

var svar;

if (a == b) {

 if (a == c) {

 answer = "alla är lika";

 } annat {

 answer = "a och b är lika";

 }

} annars om (a == c) {

answer = "a och c är lika";
} annat om (b == c) {
answer = "b och c är lika";
} annat {

 answer = "alla är olika";

}

kapslad om då uttalanden är vanliga på alla programmeringsspråk, inte bara JavaScript. Nybörjeprogrammerare använder ofta flera om då eller om annat uttalanden snarare än att häcka dem. Medan den här typen av kod kommer att fungera, kommer den snabbt att vara ordbok och kommer att duplicera villkoren. Häckande villkorliga uttalanden skapar mer tydlighet kring programmets logik och resulterar i kortfattad kod som kan köras eller sammanställa snabbare.

instagram story viewer