如果在函数内写上形参arguments,结果输出是0

来源:7-7 编程练习

幸运菜鸟

2020-10-15 20:34:10


在这里输入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>arguments</title>
</head>
<body>
    <script type="text/javascript">
            function Count(arguments){
                var sum = 0;
                for(var i in arguments){
                    var sum=sum+arguments[i];
                    
                }
                return sum;
                
            }
            alert(Count(2,3,4,5,6));
    </script>
</body>
</html>
//为什么写上形参反而结果不对了呢?
写回答

1回答

好帮手慕码

2020-10-16

同学你好,当arguments写在形参处,只能传递数组中的一个数,可以打印看下:

http://img.mukewang.com/climg/5f88fa2409695f9403930139.jpg

http://img.mukewang.com/climg/5f88fa2a092b619c01160031.jpg

所以,这时候无法使用for in 去循环遍历,因此直接输出sum的值,即0;

arguments实际上是当前函数的一个内置属性,因此建议在函数内部使用:

http://img.mukewang.com/climg/5f88fa7409fdef5604290296.jpg

效果:

http://img.mukewang.com/climg/5f88fa7d099a522707350274.jpg

1

0 学习 · 14456 问题

查看课程