Dichiarazioni IF di nidificazione JavaScript

Nidificazione se altro le istruzioni aiutano a organizzare e isolare le condizioni al fine di evitare di testare la stessa condizione due volte o di ridurre al minimo il numero di volte in cui è necessario eseguire vari test.

Usando Se istruzioni sia con operatori di confronto che logici, possiamo impostare il codice che verrà eseguito se viene soddisfatta una specifica combinazione di condizioni. Non sempre vogliamo testare l'intera condizione al fine di eseguire una serie di istruzioni se l'intero test è vero e un altro se è falso. Potremmo voler scegliere tra diverse dichiarazioni diverse, a seconda di quale particolare combinazione di condizioni è vero.

Supponiamo, ad esempio, che abbiamo tre valori da confrontare e desideriamo impostare risultati diversi a seconda di quali valori sono uguali. L'esempio seguente mostra come possiamo nidificare Se dichiarazioni da verificare per questo (in grassetto di seguito)

var risposta;

if (a == b) {

if (a == c) {

answer = "tutti sono uguali";
} altro {
instagram viewer

answer = "aeb sono uguali";
}
} altro {

 if (a == c) {

 answer = "a e c sono uguali";

 } altro {

if (b == c) {

answer = "bec sono uguali";
} altro {
answer = "tutti sono diversi";
}
 }

}

Il modo in cui la logica funziona qui è:

  1. Se la prima condizione è vera (
    if (a == b)
    ), quindi il programma verifica la presenza di nidificato se condizione (
    if (a == c)
    ). Se la prima condizione è falsa, il programma passa a altro condizione.
  2. Se la nidificato se è vero, l'istruzione viene eseguita, ovvero "tutti sono uguali".
  3. Se la nidificato se è falso, quindi il altro l'istruzione viene eseguita, ovvero "aeb sono uguali".

Ecco alcune cose da notare come questo è codificato:

  • Innanzitutto, abbiamo creato la variabile risposta per conservare il risultato prima di iniziare il Se istruzione, rendendo la variabile globale. Senza quello, avremmo dovuto includere la variabile nella parte anteriore di tutte le istruzioni di assegnazione, dal momento che sarebbe una variabile locale.
  • In secondo luogo, abbiamo rientrato ciascun nidificato Se dichiarazione. Questo ci consente di tracciare più facilmente quanti livelli nidificati di istruzioni ci sono. Rende anche più chiaro che abbiamo chiuso il giusto numero di blocchi di codice per completare tutto Se dichiarazioni che abbiamo aperto. Potresti scoprire che è più facile mettere prima le parentesi graffe per ognuna Se prima di iniziare a scrivere il codice che appartiene a quel blocco.

Possiamo semplificare leggermente una sezione di questo codice per evitare di nidificare il file Se dichiarazioni altrettanto. Dove un intero altro blocco è composto da un singolo Se, possiamo omettere le parentesi graffe attorno a quel blocco e spostare la Se si condiziona sulla stessa linea del altro, utilizzando la condizione "else if". Per esempio:

var risposta;

if (a == b) {

 if (a == c) {

 answer = "tutti sono uguali";

 } altro {

 answer = "aeb sono uguali";

 }

} altrimenti if (a == c) {

answer = "a e c sono uguali";
} altrimenti if (b == c) {
answer = "bec sono uguali";
} altro {

 answer = "tutti sono diversi";

}

Nidificato se poi le dichiarazioni sono comuni in tutti i linguaggi di programmazione, non solo JavaScript. I programmatori principianti usano spesso più se poi o se altro dichiarazioni piuttosto che nidificarle. Mentre questo tipo di codice funzionerà, diventerà rapidamente dettagliato e duplicherà le condizioni. L'annidamento delle istruzioni condizionali crea maggiore chiarezza nella logica del programma e genera codice conciso che può essere eseguito o compilare Più veloce.