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

Dan Gabriel Valeriu Voineag
Dan Gabriel Valeriu Voineag
3,797 Points

Challenge Task 1

Hi,

I am having some trouble finishing the task and don't understand what I did wrong. Can you please help (below is the code I used) ?

script.js
var secret = prompt("What is the secret password?");
do {
  secret;  
} while ( secret !== "sesame" )
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

Roy Penrod
Roy Penrod
19,810 Points

You were close, but you made a couple of mistakes.

They wanted you to declar the var secret outside of the loop, but to call the prompt within the do while loop. The reason for this is you know a do while loop will always run at least once, so we don't have to call the prompt outside the loop the first time.

The other mistake was that you just used secret; inside the loop. You didn't do anything with the variable.

Here's the code they're looking for:

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

Note: I verified that the code passed the challenge.

Jason Berteotti
Jason Berteotti
12,352 Points

Secret does nothing, as it is just a variable containing a value. And since the loop is not calling the prompt function, so "secret" will never receive a new value in your loops. You need to loop over a new prompt, something like :

secret = prompt('That is incorrect. Try again');

so that the value in the variable changes each time through, otherwise the loops is endless.

Roy Penrod
Roy Penrod
19,810 Points

You're welcome, Dan. Glad to help.