一 参数默认值
ES6中允许在定义函数时,为形参变量定义默认值
function fun(形参=默认值){
... ...
}
1). 如果传入了实参值: fun(实参值), 形参=传入的实参值
2). 如果没有传入实参值: fun(), 形参=默认值
兼容写法:
function fun(形参){
形参=形参||默认值;
}
二 剩余参数(rest)
function fun(形参1, 形参2, ...数组名){
}
三 打散数组
1). 如果函数希望:fun(值1, 值2, 值3),但是给的实参值都是放在一个数组中的:数组=[值1, 值2, 值3]
2). 应该: fun(...数组)
3). 结果: ... 会打散数组为单个值,其实最后实际执行时,依然等效于fun(值1, 值2, 值3)
function fun(形参1, 形参2, ...数组){
...作用是收集除形参1, 形参2之外的剩余参数,保存到一个数组中
}
在调用函数时:
fun(...数组);
意思是先将数组打散为多个值,再分别传入fun()中
还可拼接数组: var arr3=[...arr1, ...arr2];
还可拼接对象: var obj3={...obj1,...obj2};