JavaScript中函数里的arguments属性

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>函数里的arguments属性</title>
        <script type="text/javascript">
            /*
                arguments属性:
                    1.在JavaScript中每一个函数都包含一个arguments属性。
                    2.arguments属性是一个数组。
                    3.在函数被调用的时候,是先将实参输入到函数的arguments属性中,再由arguments将数据传递给形参。
                    4.arguments属性的存在,可以将JavaScript中函数在调用时传递的实参与函数的形参进行隔离,增强函数调用的灵活性
                    5.arguments属性只能在函数体内使用,不能在函数体外使用。

             */
            function f() {
                alert("f 方法执行了...")
            }
            //以下三种调用方式都可以成功
            f();
            f(10);
            f(10,20);
            //实参的个数与形参的个数不同也能调用成功,就是因为有arguments属性的存在

            //下面声明一个函数证明arguments属性的存在
            function f1() {
                alert("f1在运行时得到的实参个数是:" + arguments.length);
                //循环遍历得到的实参
                for (let i = 0; i < arguments.length; i ++){
                    alert("第" + (i + 1) + "个实参是:" + arguments[i] + ";  其参数类型是:" + typeof arguments[i]);
                }
            }
            f1(10,"abc",true,new Date());

            // 需求:要求 编写 一个函数。用于计算所有参数相加的和并返回
            function sum(num1,num2) {
                var result = 0;
                for (var i = 0; i < arguments.length; i++) {
                    //如果参数类型是number就累加,否则就跳过
                    if (typeof(arguments[i]) == "number") {
                        result += arguments[i];
                    }
                }
                return result;
            }
            alert( sum(1,2,3,4,"abc",5,6,7,8,9) );//45  (1+2+3+4+5+6+7+8+9的结果)
        </script>
    </head>
    <body>

    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值