2-22作业,请老师检查、答疑,谢谢。
来源:2-22 编程练习
慕桂英1122475
2023-03-22 10:16:55
请老师检查,按照任务提示:2、定义一个函数funName(input),需要有一个参数,这个参数就是用来传递从页面获取的input。
但是我代码中写成: function funName()
似乎执行起来也没有问题哦。所以写不写的区别在哪里?
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>return</title>
</head>
<body>
<script>
var input=prompt("请输入您的密码");
function funName() {
if(input.length>=6 && input.length<=12){return '密码格式正确';}
else if (input.length<6 ){return '密码不能小于6位数';}
else if (input.length>12 ){return '密码不能大于12位数';}
}
alert(funName(input));
</script>
</body>
</html>1回答
好帮手慕小李
2023-03-22
同学你好,理解有偏差如下:

这里跟是否传参接参没什么太大的关系,如下:


而是作用域的问题。
因js有作用域的概念且它比较灵活,函数这一块传参接参这里要注意是否使用了全局作用域中的变量,那么如本题中参数input确实不需要写就可以得到结果,但是要注意例子中代码量太少了。如果说公司项目中代码很多的情况下这样对于维护是不友好的,且在多人合作开发的时候某同事跟我们声明的变量重名了,那到时候出问题了找都不好找。
所以在js中使用函数的话,如有参数不管是形参还是实参都要写上。
祝学习愉快!
相似问题