Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops Create a `do...while` loop

Don't understand how to implement 'do'

I cannot complete this code. I need help.

Thanks!

script.js
var secret = prompt("What is the secret password?");
while ( secret !== "sesame" ) {
  secret = prompt("What is the secret password?");    
}
document.write("You know the secret password. Welcome.");
index.html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

3 Answers

Josh Thackeray
Josh Thackeray
9,895 Points

Hi Joanna,

By using a 'Do While' loop, you are saying; Do this, then do it again if the condition is true. This basically what you are saying by how it is originally but to make it a more efficient piece of code. The Do While loop can be used.

The final code should look like this:

var secret;
do {
  secret = prompt("What is the secret password?");
} while ( secret !== "sesame" ) ;

document.write("You know the secret password. Welcome.");

This is saying; Ask what the password is, then if the variable secret is still not "sesame" ask it again. Making sure the prompt is always run first.

If you are wondering why I have declared the variable outside the loop with no value, this is to prevent from declaring the same variable every time you run the loop.

Josh

A do-while loop is best used when you want to always run the code block at least once, before evaluating a condition.

var secret;
do { 
  secret = prompt("what is the secret password?"); 
} while (secret !== "sesame");
document.write("You know the secret password. Welcome."); 

Thank you! That works.