老师 想请问下为什么这个形参可以没有值呀 上课的时候不是说如果实参多于形参的话的话实参会被丢弃吗 谢谢老师
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var userName=prompt("请输入用户名");
var userPwd=prompt("请输入密码");
var sure=prompt("请输入验证码");
function login(a,b,c){
if(isNaN(b)){
alert("密码错误");
}
if(c.length<4){
alert("验证码不小于4位");
}
}
login(userName,userPwd,sure);
</script>
</body>
</html>
正在回答 回答被采纳积分+1
同学你好,问题解答如下:
同学的代码中,形参a、b、c的值分别是userName、userPwd和sure,所以形参a不是没有值,只是具体的逻辑中,没有处理形参a而已(代码中没有写处理a的具体代码),这种情况是可以的。只要把参数正确的传过来,具体怎么处理、是否处理,是可以自定义的。
代码效果是对的,但是写法与任务要求不符。任务要求使用arguments对象来实现需求,即不用指定形参,如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>arguments</title>
</head>
<body>
<script>
var userName = prompt("请输入用户名");
var userPwd = prompt("请输入密码");
var sure = prompt("请输入验证码");
function login() {
// arguments[1]就对应同学的形参b
if (isNaN(arguments[1])) {
alert("密码错误");
}
// arguments[2]就对应同学的形参c
if (arguments[2].length < 4) {
alert("验证码不小于4位");
}
}
login(userName, userPwd, sure);
</script>
</body>
</html>祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星