JavaScript 函数的动态参数与剩余参数

动态参数

产品需求:写一个求和参数

不管用户传入几个实参,都要把和求出来。

getSum(2,3)
getSum(1,2,3)
getSum(1,2,3,4,5,6)

我们可以用 动态参数 arguments 来实现该需求。

arguments 是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参。

// 求和函数,计算所有参数的和
function sum(){
  // arguments 动态参数 只存在于 函数里面
  // 是伪数组
  let sum = 0;
  for (let index = 0; index < arguments.length; index++) {
     sum += arguments[index]
  }
  console.log(sum)
}
sum(2,3,4) // 9
sum(5,6,7) // 18

总结:

1、arguments 是一个伪数组,只存在于函数中

2、arguments 能够动态获取函数的实参

3、可以通过循环依次获取arguments的值

剩余参数

function getSum(...arr){
    console.log(arr)
}
getSum(2,3)   // [2,3]
getSum(1,2,3) // [1,2,3]

产品需求:写一个求和参数

不管用户传入几个实参,都要把和求出来。

使用剩余参数实现该需求

// 求和函数,计算所有参数的和
function sum(...arr){
  // arguments 动态参数 只存在于 函数里面
  // 是伪数组
  let sum = 0;
  for (let index = 0; index < arr.length; index++) {
     sum += arguments[index]
  }
  console.log(sum)
}
sum(2,3,4) // 9
sum(5,6,7) // 18

剩余参数更加灵活,可以设置固定传入参数,不确定参数使用剩余参数代替。

剩余参数是一个真数组,可以使用数组的push、pop、shift、unshift等方法。

function getSum(a,b,...arr){
    console.log(arr)
}
getSum(2,3)     // []
getSum(2,3,4)   // [4]
getSum(2,3,4,5) // [4,5]

注意:

1、...是语法符号,置于最末函数形参之前,用于获取多余的实参。

2、借助...获取的剩余实参,是一个真数组

3、开发中建议使用剩余参数。

  • 16
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值