函数的扩展
1.参数默认值
2.参数的解构赋值
3.rest参数
4…扩展运算符
// 如果不传值,则默认的值为hello,传值之后为jieke
function foo(param){
let sum=param;
console.log(sum);//jieke
}
foo('jieke');
function foo(param='hello'){
let sum=param;
console.log(sum);//hello
}
foo();
参数的默认
function foo(username='lisi',age=12){
console.log(username,age);
}
console.log('zs',34);//zs 34
参数的解构赋值
function foo({username='lisi',age=23}={}){
console.log(username,age);//lisi 23
}
foo();
function foo({username='lisi',age=23}={}){
console.log(username,age);//lisi 23
}
foo({username:'zs',age:55});//zs 55
剩余参数rest
可变参数argumentsrest参数
(剩余参数):rest表示剩余参数,但是不一定要用rest作为参数传入
function foo(a,b,...param){
console.log(param);
}
foo(1,2,2,3)//[ 2, 3 ]返回的是一个数组
//扩展运算符
function foo(a,b,c,d,...param){
console.log(a+b+c+d);
console.log(param);
}
foo(1,2,3,4,5,6)//[ 5, 6 ]
apply:数组
function foo(a,b,c,d,...param){
console.log(a+b+c+d);
}
let arr=[1,2,3,4,5];
foo(...arr);//10
使用了扩展运算符合并数组
let arr1=[1,2,3];
let arr2=[4,5,6];/
/使用扩展运算符实现数组的合并
let arr3=[...arr1,...arr2];
console.log(arr3);//[ 1, 2, 3, 4, 5, 6 ]