为啥请重新输入后不继续执行while语句了

为啥请重新输入后不继续执行while语句了

<script>
//补充代码
var pwd, pwdAgain;
var i = 0
//补充代码
while (i != 5) {
pwd = prompt("请输入密码")
i = 0
while (pwd == 123456) {
pwdAgain = prompt("请再次输入密码")
if (pwd == pwdAgain) {
break
} else {
++i
if (i == 2) {
break
} else {
alert("请再次输入密码")
continue
}
}
}
if (pwd == pwdAgain) {
alert("两次输入正确")
break
} else {
alert("请重新输入")
i = 5
continue
}
}
</script>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2021-09-01 10:03:51

同学你好,解答如下:

https://img1.sycdn.imooc.com//climg/612eddc609fc4b8b04530024.jpg

这种情况是因为当i值等于2的时候会跳出当前循环

https://img1.sycdn.imooc.com//climg/612ede4c099611a506690413.jpg

再次弹框‘请输入密码’,直接回车不进入循环,就会执行最后的判断,两次都是回车,所以内容是一样的空字符串。

建议修改为:将两个循环分开

https://img1.sycdn.imooc.com//climg/612edf3709f92efd05270418.jpg

当pwd不等于123456的时候,一直弹框‘请输入密码’;当pwd等于123456的时候,弹框‘请再次输入密码’。里面加判断,如果两次相等就alert提示,以及停止循环。

自己再测试下,祝学习愉快!

  • 提问者 听的说 #1

    这个意思是不是跳过出循环就不会继续循环跳过出来的循环了?

    2021-09-01 18:40:09
  • 提问者 听的说 #2

    好吧 我大概理解了 谢谢了

    2021-09-01 18:44:36
  • 好帮手慕星星 回复 提问者 听的说 #3

    同学你好,是的,自己能理解就好。

    2021-09-02 10:29:10
听的说 提问者 2021-09-01 00:01:52

好吧我找出问题所在了,请老师帮忙检查代码,有没有bug ,有没有更好的优化

var pwd, pwdAgain;
var i = 0
//补充代码
while (i != 5) {
pwd = prompt("请输入密码")
i = 0
while (pwd == 123456) {
pwdAgain = prompt("请再次输入密码")
if (pwd == pwdAgain) {
break
} else {
++i
if (i == 2) {
break
} else {
alert("请再次输入密码")
continue
}
}
}
if (pwd == pwdAgain) {
alert("两次输入正确")
break
} else {
alert("请重新输入")
continue
}
}


  • 提问者 听的说 #1

    又遇到bug了  输入123456之后输入两次错误的最后跳出循环居然输出"两次输入正确"

    2021-09-01 00:05:07
  • 提问者 听的说 #2

    第一次输入123456 然后后面一直回车就会 输出“两次输入正确”

    2021-09-01 00:13:33
  • <script>

            var pwd,pwdAgain;


            while(pwd != 123456){

                pwd = prompt('请输入密码');

            }


            while(pwd == 123456){

                pwdAgain = prompt('请再次输入密码');

                if(pwdAgain == pwd){

                    alert('两次输入的密码一致');

                    break;

                }

            }

        </script>


    2021-09-15 22:12:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师