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

同学你好,理解有偏差如下:

https://img.mukewang.com/climg/641a670b09c2c38008800380.jpg

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

https://img.mukewang.com/climg/641a67d909dd6d0f07670337.jpg

https://img.mukewang.com/climg/641a67eb099158cb04390102.jpg

而是作用域的问题。

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

所以在js中使用函数的话,如有参数不管是形参还是实参都要写上。

祝学习愉快!

0

0 学习 · 17877 问题

查看课程