继续显示提示,直到javascript中给出正确的值



每次用户输入为null或错误时,我都会尝试显示提示。只有在输入正确后,才会出现提示并显示警报。这是我的代码:

var pass=prompt("Please enter the password to view your recovery code.");
while(true){
if(pass=="abc"){
break;
}
else
var pass=prompt("Please enter the password to view your recovery code."); 
}
alert("correct");

现在,即使我给出了正确的值(abc(,提示仍然存在,并且alert永远不会显示。为什么?

错误是因为您用var pass=prompt(...)行重新定义了变量pass

您还应该考虑使用let而不是var

此外,我已经更新了条件,确实让更干净了一点

let pass = prompt("Please enter the password to view your recovery code.");
while(pass !== "abc"){
pass = prompt("Please enter the password to view your recovery code."); 
}
alert("correct");

它可能比这更简单。在循环中添加提示,如果密码匹配则中断。

while (true) {
const pass = prompt('Please enter the password to view your recovery code.');

if (pass === 'abc') {
console.log('Correct!');
break;
}
}

最新更新