JavaScript JavaScript Loops, Arrays and Objects Simplify Repetitive Tasks with Loops Create a `do...while` loop

Chikanma Ibeh
Chikanma Ibeh
1,381 Points

Why is this wrong?

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.");

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

Ben Slivinn
Ben Slivinn
10,153 Points

Do while will actually loop at least one time and then check the condition, so the deceleration of "var secret" at the beginning is unnecessary. You should declare the variable inside 'do {}'

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

Better practice is to have a variable for the secret word and one for the anawer, and then compare them in the loop condition.

Cheers!