JavaScript函数传参的方式

624 阅读1分钟

参数默认值

参数的作用:调用者传递数据给函数

  • [ 传参注意点:实参与形参数量可以不一致,但是按顺序一一赋值,每一次传参都是独立的过程,互不影响 ]
function fn(a,b) {
return a + b
}
fn(1,2)  // 输出的结果是 3

动态参数

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

  function fn(){
  let sum = 0
  for(let i = 0;i<arguments.length;i++){
  sum +=arguments[i]
  };
  // 会打印两次 第一次是7 第二次是51
  console.log(sum);  
  return sum
  }
  fn(1,1,2,3)
  fn(1,1,2,3,44)

总结:

  • arguments 是一个伪数组,只存在于函数中
  • arguments的作用是动态获取函数的实参
  • 可以通过for循环依次得到传递过来的实参

剩余参数

剩余参数允许我们将一个不定数量的参数表示为一个数组

 function fn(...arr) {
  console.log(arr) // 使用不需要...  输出的结果 下图→
  }
  fn(1, 1, 2, 3)
  fn(1, 1, 2, 3, 5, 6)

输出结果

44449.png

总结:

  • 去最末未的形参,用于回去多余的实参
  • 借助... 获取的剩余实参,得到的是一个真数组

Snipaste_2022-04-23_20-42-23.png 箭头函数里面没有arguments

Snipaste_2022-04-23_20-42-23.png 剩余参数和展开运算符区别:1、剩余参数:函数参数使用,得到的是真数组。 2、展开:数组找中使用,将数组展开