JavaScript Nesting IF statements

Φωτισμός αν / else οι δηλώσεις συμβάλλουν στην οργάνωση και απομόνωση των συνθηκών, προκειμένου να αποφευχθεί η διπλή δοκιμή της ίδιας κατάστασης ή να ελαχιστοποιηθεί ο αριθμός των διάφορων δοκιμών που πρέπει να εκτελεστούν.

Με τη χρήση αν δηλώσεις με χειριστές σύγκρισης και λογικούς χειριστές, μπορούμε να δημιουργήσουμε κώδικα που θα εκτελείται εάν ικανοποιηθεί ένας συγκεκριμένος συνδυασμός συνθηκών. Δεν θέλουμε πάντοτε να ελέγξουμε ολόκληρη την κατάσταση για να εκτελέσουμε μια σειρά δηλώσεων, αν ολόκληρη η δοκιμασία είναι αληθής και άλλη εάν είναι ψευδής. Μπορεί να θέλουμε να επιλέξουμε μεταξύ πολλών διαφορετικών δηλώσεων, ανάλογα με τον συγκεκριμένο συνδυασμό συνθήκες είναι αλήθεια.

Ας υποθέσουμε, για παράδειγμα, ότι έχουμε τρεις τιμές για σύγκριση και επιθυμούμε να ορίσουμε διαφορετικά αποτελέσματα ανάλογα με το ποια από τις τιμές είναι ίσες. Το παρακάτω παράδειγμα δείχνει πώς μπορούμε να φωλιάζουμε αν δηλώσεις για δοκιμή για αυτό (με έντονους χαρακτήρες παρακάτω)

var απάντηση;

εάν (a == b) {
instagram viewer

αν (a == c) {

answer = "όλοι είναι ίσοι";
} else {
απάντηση = "a και b είναι ίσα";
}
} else {

 αν (a == c) {

 απάντηση = "a και c είναι ίσα";

 } else {

εάν (b == c) {

απάντηση = "b και c είναι ίσα";
} else {
απάντηση = "όλοι είναι διαφορετικοί";
}
 }

}

Ο τρόπος με τον οποίο λειτουργεί η λογική είναι:

  1. Εάν η πρώτη προϋπόθεση είναι αληθής (
    αν (a == β)
    ), τότε το πρόγραμμα ελέγχει το ένθετο εάν κατάσταση (
    αν (a == γ)
    ). Εάν η πρώτη προϋπόθεση είναι ψευδής, το πρόγραμμα προσκρούει στο αλλού κατάσταση.
  2. Αν το ένθετο εάν είναι αληθές, η δήλωση εκτελείται, δηλαδή "όλοι είναι ίσοι".
  3. Αν το ένθετο εάν είναι ψευδής, τότε η αλλού η δήλωση εκτελείται, δηλαδή "τα a και b είναι ίσα".

Ακολουθούν μερικά πράγματα για να παρατηρήσετε πώς κωδικοποιείται:

  • Αρχικά δημιουργήσαμε τη μεταβλητή απάντηση για να κρατήσουμε το αποτέλεσμα πριν ξεκινήσουμε αν δήλωση, κάνοντας τη μεταβλητή παγκόσμια. Χωρίς αυτό, θα χρειαζόταν να συμπεριλάβουμε τη μεταβλητή στο μπροστινό μέρος όλων των δηλώσεων εκχώρησης, δεδομένου ότι θα ήταν μια τοπική μεταβλητή.
  • Δεύτερον, έχουμε χαράξει κάθε ένθετο αν δήλωση. Αυτό μας επιτρέπει να παρακολουθήσουμε πιο εύκολα πόσα ένθετα επίπεδα δηλώσεων υπάρχουν. Επίσης, καθιστά σαφέστερο ότι έχουμε κλείσει τον σωστό αριθμό μπλοκ κώδικα για να ολοκληρώσουμε όλα τα αν δηλώσεις που ανοίξαμε. Μπορεί να διαπιστώσετε ότι είναι πιο εύκολο να τοποθετήσετε τα τιράντες εκεί για πρώτη φορά αν πριν ξεκινήσετε να γράφετε τον κώδικα που ανήκει μέσα σε αυτό το μπλοκ.

Μπορούμε να απλουστεύσουμε ελαφρώς ένα τμήμα αυτού του κωδικού, προκειμένου να αποφύγουμε να φουσκώσουμε αν δηλώσεις αρκετά. Όπου ένα σύνολο else block αποτελείται από ένα μόνο αν δήλωση, μπορούμε να παραλείψουμε τα τιράντες γύρω από αυτό το μπλοκ και να μετακινήσουμε το αν η ίδια κατάσταση βρίσκεται επάνω στην ίδια γραμμή με την αλλού, χρησιμοποιώντας την προϋπόθεση "else if". Για παράδειγμα:

var απάντηση;

εάν (a == b) {

 αν (a == c) {

 answer = "όλοι είναι ίσοι";

 } else {

 απάντηση = "a και b είναι ίσα";

 }

} else αν (a == c) {

απάντηση = "a και c είναι ίσα";
} else αν (b == c) {
απάντηση = "b και c είναι ίσα";
} else {

 απάντηση = "όλοι είναι διαφορετικοί";

}

Ένθετο αν τότε οι δηλώσεις είναι κοινές σε όλες τις γλώσσες προγραμματισμού, όχι μόνο JavaScript. Οι αρχάριοι προγραμματιστές συχνά χρησιμοποιούν πολλαπλά αν τότε ή αν / else και όχι να τα φωλιάζει. Ενώ αυτό το είδος κώδικα θα λειτουργήσει, θα γίνει γρήγορα λεπτομερής και θα αντιγράψει τις συνθήκες. Οι καταγεγραμμένες υποθετικές δηλώσεις δημιουργούν περισσότερη σαφήνεια γύρω από τη λογική του προγράμματος και οδηγούν σε συνοπτικό κώδικα που μπορεί να εκτελεστεί ή συντάσσω γρηγορότερα.

instagram story viewer