请帮忙检查一下,谢谢!
var pwd,pwdAgain; //补充代码 var pwd,pwdAgain; pwd=prompt("请输入密码:"); while (pwd!==123456){ if (isNaN(pwd)) { alert("请输入数字:") } else if(pwd.length!=6){ alert("请输入6位数!") } else if(pwd==123456){ pwdAgain=prompt("正确,请再次输入密码"); if (pwdAgain==123456) { alert("正确了!") break; } } pwd=prompt("请输入密码no"); }
41
收起
正在回答
2回答
童鞋,我测试了你的代码,运行虽然没有问题,但是不确定你原本的用意是什么?while循环条件(pwd !== 123456)只是判断输入的数值是否和123456相等,还是不论输入什么内容都要进入循环体。因为输入的内容类型为字符串,如果你是想判断当输入的内容和123456不相等时,需要parseInt()转换一下输入的内容,再判断,如下:
如果是不论输入什么内容都要进入循环体,那就是正确的,因为!==判断的是数值和类型,ヾ(◍°∇°◍)ノ゙
鹿屿
2018-01-18 16:49:45
var pwd,pwdAgain; pwd=parseInt(prompt("请输入密码")); while (pwd!=123456){ if (isNaN(pwd)) { alert("请输入数字") } else if(pwd.length!=6){ alert("请输入6位数!") } pwd=parseInt(prompt("请输入密码no")); } while (pwd==123456){ pwdAgain=parseInt(prompt("正确,请再次输入密码")); if (pwdAgain==123456) { alert("正确了!") break; } else{ pwd=parseInt(prompt("请输入密码no2")); } }
重新改了一下把第一个循环里原来的如果==123456提取出来放到了一个第二个循环里进行判断。这样是不是就好了点了?
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星