Εμφωλευμένες δομές επιλογής

Οι εμφωλευμένες δομές επιλογής είναι δομές επιλογής που περικλείονται μέσα σε άλλες.

if (expression1){
    /*this code runs if expression1 evaluates to true*/
    if (expression2){
        /*this code only runs if both expression1 and expression2 evaluate to true*/
    }
} else {
    /*this code runs if neither are true*/
}
Παράδειγμα

Στο παρακάτω παράδειγμα, εμφωλεύουμε δομή επιλογής σε άλλη για να ζητήσουμε περισσότερες πληροφορίες από τον χρήστη.

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

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Nested contitionals </title>
  </head>
  <body>
    <h3> Nested contitionals</h3>
    <script>
        var likeBananas;
        var favoritFruit;
        likeBananas = confirm("Do you like bananas? ([OK] for yes, [Cancel] for no)");
        if (likeBananas) {
                document.write("You like Bananas!")
        } else {
                favoritFruit = prompt("What is your favorite fruit")

                if (favoritFruit == "apples") {
                        document.write("You like apples! Me too!")
                }else {
                        document.write("You like " + favoritFruit + "! I prefer apples!")
                }

        }
        console.log ("All fruits are good!");
    </script>
  </body>
</html>

Exercise

  1. Ανοίξτε τον επεξεργαστή κώδικα, δημιουργήστε ένα νέο αρχείο και αποθηκεύστε το ως exersice07.3.02.html στον φάκελο "Exercises".
  2. Αντιγράψτε τον παραπάνω κώδικα και επικολλήστε τον στο νέο αρχείο.
  3. Αποθηκεύστε το αρχείο. Πειραματιστείτε με την αλλαγή των τιμών των μεταβλητών.