请问老师,我这样写对吗?还有我有几个疑问,请老师帮我解答一下

请问老师,我这样写对吗?还有我有几个疑问,请老师帮我解答一下

<!DOCTYPE html>

<html>


<head lang="en">

<meta charset="UTF-8">

<title>break和continue</title>

</head>


<body>

<script>

var pwd, pwdAgain;

pwd = prompt("请输入密码")

while (pwd != 123456) {

if (pwd == 123456) {

continue;

};

alert("用户输入的密码不是默认密码");

pwd = prompt("请输入密码")


};

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




</script>

</body>


</html>


正在回答

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

4回答

同学你好。

代码解释如下:

当pwd的值不等于默认密码123456的时候,条件成立,进入while语句,当pwd的值等于123456的时候,就跳出第一个循环,执行第二个循环。

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

同学刚才粘贴的代码也是可以的哦,不过建议在while循环的外面加上一个alert(“输入正确”),参考下图:

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

希望帮助到了你呀

山河远阔ZZ 2019-02-28 10:21:56

同学你好,效果实现了。

1、js中,没有"!<="这样的判断类型。

2、在if语句中,break用于跳出当前的if语句,执行下面的语句。而换成continue之后,会跳出当前的if语句,又从头开始执行,所以效果不正确。

3、如果不设置break的话,相当于if语句里面没有任何执行的代码块,会继续往下读取js代码块。

4、在实际的操作中,可以再加一次判断,当输入的内容跟第二次输入的内容不一致的时候,弹出内容不一致。

5、同学的代码实现的比较繁琐,可以参考老师的代码:

 <script>
    var pwd, pwdAgain;

    pwd = prompt("请输入密码");
    while (pwd != 123456) {
        pwd = prompt("密码错误,请重新输入");
    }
    pwdAgain = prompt("密码正确,请再次输入密码");
    while (pwd != pwdAgain) {
        pwdAgain = prompt("与第一次输入不符,请再次输入密码");
    }
    alert("密码正确,欢迎回来!");
    </script>

可以试一试哦。

希望帮助到了你,欢迎采纳。

祝学习愉快!

  • 提问者 慕前端2064318 #1
    老师,您好,我看了一下您的代码,有些地方不太明白,想咨询一下您。 第一个循环,当pwd不等于123456的时候会死循环,直到123456解锁,跳转到第二步pwdagain执行第二步的操作,第三步,类似第一步,当两相等的时候再次解开,到第四步弹窗,提示密码正确。 是这样吗?
    2019-02-28 11:20:01
  • 提问者 慕前端2064318 #2
    老师,我昨天晚上考虑了一下,重新写了一下自己的代码,请老师看看 这个代码有没有问题。 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>break和continue</title> </head> <body> <script> var pwd, pwdAgain; pwd = prompt("请输入密码") while (pwd != 999999) { if (pwd == 123456) { pwdAgain = prompt("请再次输入密码"); } if (pwdAgain == 123456) { break; } alert("用户输入的密码不是默认密码"); pwd = prompt("请输入密码") // if (pwdAgain != 123456) { continue }; // pwd = prompt("请输入密码") }; </script> </body> </html>
    2019-02-28 11:21:29
提问者 慕前端2064318 2019-02-27 19:36:51

<!DOCTYPE html>

<html>


<head lang="en">

<meta charset="UTF-8">

<title>break和continue</title>

</head>


<body>

<script>

var pwd, pwdAgain;

pwd = prompt("请输入密码")

while (pwd != 999999) {

if (pwd == 123456) {

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

}

if (pwdAgain == 123456) {

break;

}

alert("用户输入的密码不是默认密码");

pwd = prompt("请输入密码")

if (pwdAgain != 123456) { continue };

pwd = prompt("请输入密码")

};

</script>

</body>


</html>

请老师参考这个最新的代码

提问者 慕前端2064318 2019-02-27 19:23:58

老师您好,我现在遇到几个问题,请老师帮忙解答一下可以吗?

问题1:

请老师看看我写的代码正确吗?

-------------------------

问题2:如果

while (pwd != 123456)

替换成:

while (pwd !<=999999)

出现无响应的问题,这一点我有点理解不了,请问是为什么?

是不是因为pwd没有设置递增或者递减,所以出现死循环?

----------------------------

问题3:

如果设置成break,立即结束,返回到

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

我这样理解对吗?

如果设置成

continue;

是否也是正确的呢?相当于pwd等于123456,这次操作结束,返回到

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

---------------------------

问题4:

如果不设置continue或者break,都相当于结束循环了, 是吗?比如在弹出的输入框内输入123456,相当于打破了循环?

-----------------

问题5:

在实际操作中,是不是还需要再加入一次操作呢?

比如第二次输入的值与第一次输入的值不相等,返回到循环里面?

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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