我之前有问题的代码有个问题想不通

我之前有问题的代码有个问题想不通

<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>


正在回答

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

2回答

同学你好,老师在第一次回答的时候讲了,是第6步。是因为在第二个while循环中,当第二次输入的密码与第一次不一致时,会执行if的语句,让再次输入密码,if执行完毕后,并不会退出while循环,而是执行pwdAgain = prompt("请确认密码");这句代码,所以当输入不正确时,会让输入两次:

http://img1.sycdn.imooc.com//climg/5dda263a09b3295d09830355.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕粉 2019-11-24 14:02:37

同学你好,关于同学的问题解答如下:

1、在第一段代码中:

http://img1.sycdn.imooc.com//climg/5dda1b1509938e0a14130748.jpg

2、第二段的代码虽然能实现效果,但是代码比较麻烦,建议同学使用自己注释掉的代码实现。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 迷失的小麦 #1
    额,老师,还是没说清楚第一段代码中的问题。第一段代码第二次输入代码错误会导致第一次作废,需要重新输入,是什么原因?就是第一段代码第二次错误,需要再次输入2次正确的才行;而第二段代码需要再次输入1次即可
    2019-11-24 14:20:17
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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