一、ES6 允许给函数参数赋值初始值。
- 形参初始值,具有默认值的参数,一般位置要靠后,如果赋值了就用赋的值,未赋值就使用默认值。
<script>
function fun(a,b,c=3){
return a+b+c;
}
let result=fun(1,2,10);
console.log(result);//13
</script>
- 与解构赋值结合
// function fun2(options){//这种方法输出有重复
// console.log(options.name);
// console.log(options.age);
// }
function fun2({
name,age}){
//与解构赋值相结合
console.log(name);
console.log(age);
}
fun2({
name:"sun",
age:18,
});
二、ES6引入rest参数,用于获取函数的实参,用来代替arguments。
使用方法:...标识符
放在实参的位置
function date(...args){
console.log(args);
}
date('aa','bb');
注意事项:rest参数必须要放到参数最后,在有多个参数的情况下。
三、扩展运算符
- 【…】扩展运算符能够将【数组】转换为逗号分隔的【参数序列】
const str=['孙悟空','猪八戒','沙和尚'];
function fun(){
console.log(arguments);
}
fun(...str);//等同于fun(孙悟空,猪八戒,沙和尚)
2.扩展运算符的应用
(1)数组的合并
const name=["孙悟空","沙和尚","猪八戒"]
const age=[18,19,20]
//数组的合并
//const per=name.concat(age);
//运用扩展运算符
const per=[...name,...age]
console.log(per);
(2)数组的克隆
//数组克隆
const per=[...name];
console.log(per);
(3)将伪数组转换为真正的数组
//将伪数组转换为真正的数组
const per=document.querySelectorAll('div');//查找所有的div元素
const perArr=[...per]
console.log(perArr);