33. Η JavaScript δήλωση switch

JS Switch


Η δήλωση switch χρησιμοποιείται για την εκτέλεση διαφορετικών ενεργειών που βασίζονται σε διαφορετικές συνθήκες.


Η δήλωση switch JavaScript

Χρησιμοποιήστε τη δήλωση switch για να επιλέξετε ένα από τα πολλά μπλοκ κώδικα που θα εκτελεστούν.

Σύνταξη

switch(expression) {
  case x:
    // μπλοκ κώδικα
    break;
  case y:
    // μπλοκ κώδικα
     break;
  default:
   // μπλοκ κώδικα
 }

Πώς δουλεύει:

  • Η έκφραση switch εκτιμάται μία φορά.
  • Η τιμή της έκφρασης συγκρίνεται με τις τιμές κάθε περίπτωσης.
  • Εάν υπάρχει αντιστοιχία, εκτελείται το σχετικό μπλοκ κώδικα.

Παράδειγμα

Η μέθοδος getDay() επιστρέφει την εβδομάδα ως αριθμό μεταξύ 0 και 6.

(Κυριακή = 0, Δευτέρα = 1, Τρίτη = 2 ..)

Αυτό το παράδειγμα χρησιμοποιεί τον αριθμό της εβδομάδας για τον υπολογισμό του ονόματος της εβδομάδας:

switch (new Date().getDay()) {
  case 0:
    day = "Κυριακή";
    break;
  case 1:
    day = "Δευτέρα";
    break;
  case 2:
     day = "Τρίτη";
    break;
  case 3:
    day = "Τετάρτη";
    break;
  case 4:
    day = "Πέμπτη";
    break;
  case 5:
    day = "Παρασκευή";
    break;
  case 6:
    day = "Σάββατο";
}

Το αποτέλεσμα της ημέρας θα είναι:

Δοκιμάστε το »


Η λέξη-κλειδί break

Όταν η JavaScript φτάσει σε μια λέξη-κλειδί break, σπάει το μπλοκ switch.

Αυτό θα σταματήσει την εκτέλεση μέσα στο μπλοκ.

Δεν είναι απαραίτητο να γίνει break η τελευταία περίπτωση σε ένα μπλοκ διακόπτη. Το μπλοκ σπάει (τελειώνει) εκεί ούτως ή άλλως.

Σημείωση: Αν παραλείψετε τη δήλωση break, η επόμενη περίπτωση θα εκτελεστεί ακόμη και αν η αξιολόγηση δεν ταιριάζει με την περίπτωση.


Η λέξη κλειδί default

Η λέξη-κλειδί default καθορίζει τον κώδικα που θα εκτελεστεί αν δεν υπάρχει αντιστοιχία περιπτώσεων:

Παράδειγμα

Η μέθοδος getDay() επιστρέφει την εβδομάδα ως αριθμό μεταξύ 0 και 6.

Αν σήμερα δεν είναι ούτε Σάββατο (6) ούτε Κυριακή (0), γράψτε ένα προεπιλεγμένο μήνυμα:

switch (new Date().getDay()) {
  case 6:
    text = "Σήμερα είναι Σάββατο";
    break;
  case 0:
    text = "Σήμερα είναι Κυριακή";
    break;
  default:
    text = "Ανυπομονώ για το Σαββατοκύριακο";
}

Το αποτέλεσμα του κειμένου θα είναι:

Δοκιμάστε το »

Η default περίπτωση δεν χρειάζεται να είναι η τελευταία περίπτωση σε ένα switch μπλοκ:

Παράδειγμα

switch (new Date().getDay()) {
  default:
    text = "Ανυπομονώ για το Σαββατοκύριακο";
    break;
  case 6:
    text = "Σήμερα είναι Σάββατο";
    break;
  case 0:
    text = "Σήμερα είναι Κυριακή";
}

Δοκιμάστε το »

Αν η defaultδεν είναι η τελευταία περίπτωση στο switch μπλοκ, θυμηθείτε να τερματίσετε την προεπιλεγμένη περίπτωση με ένα break.


Κοινά μπλοκ κωδίκων

Μερικές φορές θα θέλετε διαφορετικές switch περιπτώσεις να χρησιμοποιήσετε τον ίδιο κωδικό.

Σε αυτό το παράδειγμα οι περιπτώσεις 4 και 5 μοιράζονται το ίδιο μπλοκ κώδικα και τα 0 και 6 μοιράζονται ένα άλλο μπλοκ κώδικα:

Παράδειγμα

switch (new Date().getDay()) {
  case 4:
  case 5:
    text = "Σύντομα θα είναι Σαββατοκύριακο";
    break;
  case 0:
  case 6:
    text = "Είναι Σαββατοκύριακο";
    break;
  default:
    text = "Ανυπομονώ για το Σαββατοκύριακο";
}

Δοκιμάστε το »


Εναλλαγή στοιχείων

Εάν οι περισσότερες περιπτώσεις αντιστοιχούν σε μια τιμή, επιλέγεται η πρώτη περίπτωση.

Εάν δεν εντοπιστούν αντίστοιχες περιπτώσεις, το πρόγραμμα συνεχίζει στην προεπιλεγμένη ετικέτα (default).

Αν δεν εντοπιστεί προεπιλεγμένη ετικέτα, το πρόγραμμα συνεχίζει τις δηλώσεις μετά το switch.


Αυστηρή σύγκριση

Οι περιπτώσεις εναλλαγής (switch cases) χρησιμοποιούν αυστηρή σύγκριση (===).

Οι τιμές πρέπει να είναι του ίδιου τύπου για να ταιριάζουν.

Μια αυστηρή σύγκριση μπορεί να ισχύει μόνο αν οι τελεστές είναι του ίδιου τύπου.

Σε αυτό το παράδειγμα δεν θα υπάρχει αντιστοιχία για το x:

Παράδειγμα

var x = "0";
switch (x) {
  case 0:
    text = "Off";
    break;
  case 1:
    text = "On";
    break;
  default:
    text = "No value found";
}

Δοκιμάστε το »


Δοκιμάστε τον εαυτό σας με τις ασκήσεις

Ασκηση:

Δημιουργήστε μια switchδήλωση που θα ειδοποιεί “Hello” εάν fruitsείναι “banana”, και “Welcome” αν fruitsείναι “apple”.

(φρούτα) {
  "Μπανάνα":
    ειδοποίηση ("Γεια σας")
    Διακοπή;
  "Μήλο":
    ειδοποίηση ("Καλώς ορίσατε")
    Διακοπή;    
}}

Υποβολή απάντησης “

Ξεκινήστε την Άσκηση


Days
Hours
Minutes

33. Η JavaScript δήλωση switch

Κοινοποίηση

Share on facebook
Share on twitter

Ακολουθήστε μας

Αρέσει σε %d bloggers: