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 trialMichelle Torrecampo
9,961 PointsStuck on do/while problem
I keep getting an error saying to declare the variable secret before the loop runs but I thought I did exactly that:
var secret = "sesame"; var password; var correctPassword = false;
do{ var secret = prompt("What is the secret password?"); if (password === secret){ correctPassword = true; }
}while ( secret !== "sesame" ) {
secret = prompt("What is the secret password?");
}
document.write("You know the secret password. Welcome.");
What am I missing here? I've been stuck on this for weeks!
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.");
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript Loops</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>
4 Answers
Damien Watson
27,419 PointsHi Michelle,
You just need to change it to a 'Do, While' loop. The define secret at the beginning is 'var secret;'. See below:
var secret;
do {
secret = prompt("What is the secret password?");
} while ( secret !== "sesame" );
document.write("You know the secret password. Welcome.");
Steve Linn
11,841 PointsI ran your code on my local computer - it works fine. I think this may be a cache issue with the workspaces program - try running it locally using a program like brackets. It works fine.
Damien Watson
27,419 PointsHey Steve, as you've said, no issue with the code. The issue is with passing the Challenge, where the 'prompt' should only be called once, not twice.
Michelle Torrecampo
9,961 PointsThank you Damien and Steve!
john larson
16,594 PointsThis passed for me, If you have any questions about the code I'd be happy to explain
var secret;
do {
secret = prompt("What is the secret password?");
}
while ( secret !== "sesame" )
document.write("You know the secret password. Welcome.");
Michelle Torrecampo
9,961 PointsMichelle Torrecampo
9,961 PointsThis worked for me; thanks again! As usual, I overthought the problem.