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 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星