Nested conditionals

Nested conditionals are actually conditionals inside a conditional.

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*/
}
Example

In the below example, we have used nested conditionals to define whether we need to ask more input from the user.

The logic of the below code is: if the user likes bananas then display a message, else ask him his favorite fruit. If the user doesn't like bananas and prefers apples then display a message, else if he doesn't like bananas and prefer other fruit than apples, display another message. 

<!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. Open your editor, create a new file and save it as exersice06.3.02.html in the folder "yourNameWEB2JS".
  2. Copy the above code and paste it in the new file.
  3. Save the file. Experiment by changing the values of the variables.