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

I have no idea why this doesn't work :/

So I'm currently trying to turn this 'while' loop into a 'do while' loop. I tried to put the prompt inside to loop yet it tells me to do just that. sometimes it states that it is not declared as well. I know this is probably an easy fix I'm just stuck on it.

script.js
var secret = prompt("What is the secret password?");
do {
  prompt(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>
Kevin Anderson
Kevin Anderson
2,977 Points

You solution does, for the most part work. However, you are prompting the user once outside the loop. Then again immediately after entering the loop. Move your code around a bit:

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

rydavim
rydavim
18,814 Points

If someone below has fully addressed your question, I would also encourage you to vote and mark as best answer. Happy coding!

1 Answer

Hi :} the sturcture of a do.. while loop is like that:

do {

}while(something);

you did one important thing well, u have to declare the secret var outside the loop because if u will create it inside the loop evreytime the loop will run u recreate this variable.

explantion:

var secret;
//entring the loop
do {
//keep asking for a prompt and assign the user reposnse to "secret"
  secret = prompt("What is the secret password?");
//as long as the value in "secret" is not "seasme"
} while ( secret !== "sesame" );
//this statement will run only if secret pass the while check
  document.write("You know the secret password. Welcome.");

hope this helps.

Thank you I appreciate it. Pretty simple fix :)