老师 想请问下为什么这个形参可以没有值呀 上课的时候不是说如果实参多于形参的话的话实参会被丢弃吗 谢谢老师
<!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 星