1-10练习
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>arguments</title> </head> <body> <script> var userName=prompt("请输入用户名"); var userPwd=prompt("请输入密码"); function login(){ while(isNaN(arguments[1])){//补充代码 alert("密码错误"); arguments[1]=prompt("请输入密码"); } arguments[2]=prompt("请输入验证码"); while(arguments[2].length<4){//补充代码 alert("验证码不小于4位"); arguments[2]=prompt("请输入验证码"); } } login(userName,userPwd); </script> </body> </html>
1.arguments[2]不是应该取login的第三个数值吗?我没有第三个数值应该是undefined才对吧?
2.为什么在加了第三个数值之后,程序运行到输入密码后就不会弹出密码错误这程序框?如下
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>arguments</title> </head> <body> <script> var userName=prompt("请输入用户名"); var userPwd=prompt("请输入密码"); function login(){ while(isNaN(arguments[1])){//补充代码 alert("密码错误"); arguments[1]=prompt("请输入密码"); }arguments[2]=prompt("请输入验证码"); while(arguments[2].length<4){//补充代码 alert("验证码不小于4位"); arguments[2]=prompt("请输入验证码"); } } login(userName,userPwd,sure); </script> </body> </html>
3.不是应该先执行密码的输入错误才执行验证码的输入错误吗?为什么在开头加了var sure=prompt("请输入验证码");之后,会先执行1:输入密码,2:输入验证码,3:密码输入错误,4:验证码输入错误。为什么会是这样的错误顺序的?
正在回答 回答被采纳积分+1
测试了你的代码:
1、先弹出输入用户名,再弹出输入密码,然后调用login函数,进入while循环,判断第二个参数是否位数字,如果是,弹出请输入验证码,也就是第三个参数,但是传入的形参中没有,所以进入不了while循环,程序直接停止执行,是不会报错的。
2、你的编程本身就是有问题的,虽然传入了第三个参数,但是你没有定义,所以会报错,程序执行不了。在外面定义一下就可以了。
3、如果在外面添加var sure=prompt("请输入验证码");,先执行login函数外面的代码,所以先弹出名字,密码,验证码,才会进入函数里面进行判断密码是否正确。
自己再测试下,祝学习愉快~~
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>arguments</title> </head> <body> <script> var userName=prompt("请输入用户名"); var userPwd=prompt("请输入密码"); var sure; function login(userName,userPwd,sure){ while(isNaN(arguments[1])){ alert("密码错误"); arguments[1]=prompt("请输入密码"); } //arguments[2]=prompt("请输入验证码"); sure=prompt("请输入验证码"); while(arguments[2].length<4){ alert("验证码不小于4位"); arguments[2]=prompt("请输入验证码"); } } login(userName,userPwd,sure); </script> </body> </html>
arguments[2]取的是第三个值,arguments[2]向数组中添加了新项,所以第三个值是你输入的值不是undefined
sure需要声明不然控制台上会报错
sure=prompt("请输入验证码");语句要放在密码判断之后就不会出现顺序错误
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36713 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星