可变参数(Rest Parameter)
function restParameter ( p1, ...args ) {console.log(p1, args)}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,那么依旧会使用默认值(可用于跳过某个形参传值)
