一 参数默认值
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};