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

SeHyun Choi
SeHyun Choi
3,441 Points

Do...While loop?

Found my answer to the test. But I am curious. Why can't I type var secret = prompt("What is the secret password"); in side of 'do' code block?

Code

var secret;
do {
secret = prompt("What is the secret password?") ;

}
while ( secret !== "sesame" ) 
document.write("You know the secret password. Welcome.");

2 Answers

Josh Icenogle
Josh Icenogle
9,257 Points

There’s no semicolon at the end of the prompt

Josh Icenogle
Josh Icenogle
9,257 Points

Oh I see what you mean now nvm

Steven Parker
Steven Parker
231,236 Points

The semicolon doesn't cause a problem.

But you alreadh have "var secret;" at the beginning to declare the variable. So you don't want to use "var" again inside the loop, which would "shadow" the variable already declared. Just the assignment is all that is needed there.