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

how can i declear "secrety" variable before the loop there

help me please

script.js
var secret = prompt("What is the secret password?");
do {
   var secret = prompt("What is the secret password?"); 
  if ( secret === "sesame" ) {
 document.write("You know the secret password. Welcome.");     
 }
} while ( secret !== "sesame")
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

Aakash Srivastav
Aakash Srivastav
Full Stack JavaScript Techdegree Student 11,609 Points

Hey luckius kajoka , you are declaring the secret variable two times , that's producing your error .
As , we know , we usedo-while loop only ,when we want our code to run atleast one time .
Here , we want the user to be prompted atleast once , hence we will put that statement within do block like this -

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

Also , in the given code , this line of code -

document.write("You know the secret password. Welcome.");     

is outside of the loop , so you need not to alter it's position.
Also , it's reason is , document.write statement will not be executed until the loop gets terminated i,e until secret === 'sesame'
Hope it helps . Thank you :)