关于作业的问题
<body>
<script>
var userName=prompt("请输入用户名");
var userPwd=prompt("请输入密码");
var sure=prompt("请输入验证码");
function login(){
if(isNaN(arguments[1])){//补充代码
alert("密码错误");
}
if(arguments[2].length<4){//补充代码
alert("验证码不得小于4位");
}
}
login(userName,userPwd,sure);
</script>
</body>
</html>
老师我想问的是为什么验证码输入后才出现提示,咋么才能在密码或者验证码输入错误后直接跳出相关提示呢?
它们的顺序有社么规则?
正在回答
你好同学 ,并不是参数值为空 , 而是因为函数里面的变量是布局变量 , 局部变量在全局下面是访问不到的 ,所以当你在全局下面调用函数 ,传入参数 ,userPwd,sure在全局下面并没有定义 ,所以会报错找不到这些变量.
我们要让函数在调用时传入参数是因为这些参数函数里面用不到 . 例如有一个函数a里面有一个变量想在函数b中使用 , 函数a的变量只能在函数a里面使用 ,b是拿不到的 .这个时候我们就可以在a中调用b ,把a里面的变量作为参数 传给b使用了 .
同学说的最后一个问题 , 就回到了你第一次上传的代码了 . 把弹窗写在函数全局下 , 也就是函数外边 , 这样就能作为参数传递了 .但是这样的话 ,因为代码是从上而下顺序执行的 , 就不能实现你第一次提问的需求了 . 如果同学想要实现你自己的需求 , 建议按照老师第一次截图的代码去修改 .
祝学习愉快 ,望采纳 .
<html>
<head>
<meta charset="UTF-8">
<title>arguments</title>
</head>
<body>
<script>
var userName=prompt("请输入用户名");
function login(){
var userPwd=prompt("请输入密码");
if(isNaN(arguments:[1])){//补充代码
alert("密码错误");
}
var sure=prompt("请输入验证");
if(arguments:[2].length<4){//补充代码
alert("验证码不得小于4位")
}
}
login(userName,userPwd,sure);
</script>
</body>
</html>
是这样的为什么这样修改之弹出了一个输入框我想不出来翁提出在哪里
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星