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

tomasmotycka
tomasmotycka
7,158 Points

Oxymorons?

Why do you tell me to declare var secret before the loop and then, when I do so, tell me to declare it only once and only inside the loop? How can be st. in front st. else and inside it at the same moment?

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

1 Answer

Steven Parker
Steven Parker
231,269 Points

You can declare the variable before the loop, and assign it (and call prompt) only inside the loop:


:warning: SPOILER ALERT


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