我之前有问题的代码有个问题想不通
<script>
var pwd,pwdAgain;
while(pwd!=="123456"){pwd=prompt("请正确输入密码");}
while(pwd=="123456"){
pwdAgain=prompt("请再次输入密码");
if(pwdAgain!==pwd){pwdAgain=prompt("请再次输入密码");}
else{alert("两次输入的密码一致");break;}
}
</script>
第二次输入代码错误会导致第一次作废,需要重新输入,是什么原因?哪里做出了改变使得用户在第二次输入错误的时候仅需再正确输入一次即可
正确代码:
<script>
var pwd, pwdAgain;
// 将两次输入密码放在一个while实现
while (true) {
// 如果第一次输入的密码不等于123456 进入下面的if语句执行里面的代码
if (pwd !== "123456") {
// 在这里添加一个判断,是否点击了取消按钮
if (pwd !== null) { // 弹出框让用户输入内容
pwd = prompt("请正确输入密码(1)");
} else { // 点击取消按钮退出循环
break;
}
} else { // 第一次密码输入正确, 执行else语句中的代码,处理第二次输入密码逻辑
if (pwdAgain !== pwd) { // 确认密码是输入的不对
// 在这里添加一个判断,是否点击了取消按钮
if (pwdAgain !== null) { // 弹出框让用户输入确认密码
pwdAgain = prompt("请再次输入密码(2)");
} else {// 点击取消按钮退出循环
break;
}
} else { // 确认密码时与开始输入密码一致
alert("两次输入的密码一致");
break;
}
}
}
// while (pwd == "123456") {
// pwdAgain = prompt("请再次输入密码");
// if (pwdAgain !== pwd) { pwdAgain = prompt("请再次输入密码"); }
// else { alert("两次输入的密码一致"); break; }
// }
</script>
正在回答
同学你好,老师在第一次回答的时候讲了,是第6步。是因为在第二个while循环中,当第二次输入的密码与第一次不一致时,会执行if的语句,让再次输入密码,if执行完毕后,并不会退出while循环,而是执行pwdAgain = prompt("请确认密码");这句代码,所以当输入不正确时,会让输入两次:
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星