js中的形参、实参与剩余参数的详解

js中的形参、实参

 function sum(a,b,c,d,e) {
        console.log(arguments)
        var sum=0;
        for (var i = 0; i < arguments.length;i++){
            console.log(arguments[i])
            sum =sum+ arguments[i];
            
        }
        return parseInt(sum);
        
    }
    var sum = sum(1, 2, 3);
    console.log(sum);

分析:js中形参个数与实参个数可以不匹配
形参个数大于实参个数的话,没有对应实参的形参会被赋值为undefined
形参个数小于实参个数的话,额外的实参不会赋值给任何形参
上面例子中,函数调用的时候,实参个数为3,形参个数为5,d、e没有被赋值,如果在不知道传入几个实参的时候,我想做累加,我们可以通过arguments获取传入实参的长度以及值,
arguments.length属性可以获取传递给函数的实际参数个数
arguments并不是数组哦,不可以使用数组的原型方法,arguments只是类数组的结构。

 function sum() {
        console.log(arguments)
        var sum=0;
        for (var i = 0; i < arguments.length;i++){
            console.log(arguments[i])
            sum =sum+ arguments[i];
            
        }
        return parseInt(sum);
        
    }
    var sum = sum(1, 2, 3);
    console.log(sum);

同理,上面的例子中,调用函数sum的时候传入了三个实参,但是没有相应的实参去接收传入的实参值,但是我们可以通过arguments找到传入的实参,通过遍历所有参数计算他们的和

注意:在大多数的情况下,我们可以使用剩余参数来代替arguments参数,并且剩余参数是真正的Array实例,可以使用所有数组的方法

function sum(...Atg) {
    var sum=0;
    // console.log(Atg);
    for(var i=0;i<Atg.length;i++){
        sum=sum+Atg[i];
    }
    return  sum;

}
var sum = sum(1, 2, 3);
console.log(sum);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值