ES6中新增

可变参数(Rest Parameter)

  1. function restParameter ( p1, ...args ) {
  2. console.log(p1, args)
  3. }
  4. restParameter('可变参数', 1, 2, 3) // args === [1,2,3]
  • 用于取代arguments(箭头函数中),且比arguments灵活
  • ...可变形参:可以接收任意个实参,所在位置及之后的所有实参都会被接收
    • 一个函数只能有一个可变参数
    • 可变参数必须是最后一个参数
    • 值会是一个真数组,元素就是接收到的实参

形参默认值(Default Parameter)

function detaultParameter ( p1 = '形参默认值', p2 = 1, p3 = p1 + p2 ) {
  console.log(p1, p2)
}

detaultParameter(undefined, 888)
  • 默认值可以是一个表达式,且可以是由前面的形参组成
  • 如果没有接收到实参,就会使用默认值
  • 如果实参是 undefined ,那么依旧会使用默认值(可用于跳过某个形参传值)