ES6(4)—— 函数参数

本文详细介绍了ES6中函数参数的新特性,包括参数扩展/数组展开功能及其使用场景,以及如何设置默认参数值来简化函数调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ES6里面对函数的参数做了一些改变

  • 参数扩展/数组展开
  • 默认参数

二、参数扩展/展开

所谓的参数扩展就是用来进行剩余参数的收集,还能够用于展开数组。

1、生于参数的收集

看如下的函数:

function show(a,b){
     console.log(a,b);
}
show(12,15);

我们给show函数了两个参数,我们给他传参时传了两个。如果传两个以上的参数,前两个可以接到,后面的就接不到,而且没有警告提示和错误提示。那么我们该怎么解决呢?

function show(a,b,...args){
     console.log(a,b);
     console.log(args);
}
show(12,15,14,17);

此时,前面的两个数12,15分别放在a和b里面,然后后面的多出来的参数就直接全部放入args里面,存在args这个数组里面了。

注意:

如果我想让a,b分别接前两个数,c接最后一个数。如下的写法是错误的,此时会报这样的错误:Uncaught SyntaxError: Rest parameter must be last formal parameter。所以不能这样写!也就是说args智能放在最后

function show(a,b,...args,c){
     console.log(a,b);
     console.log(args);
}
show(12,15,14,17,5.10);

2、数组展开

例一:

//方式一
function show(a,b,c){
    console.log(a);
    console.log(b);
    console.log(c);
}
show(1,2,3);

//方式二:
let arr = [1,2,3];
function show(a,b,c){
    console.log(a);
    console.log(b);
    console.log(c);
}
show(...arr);

//上面的两种方式完全没有区别,完全一样。

例二:

let arr1 = [1,2,3];
let arr2 = [5,6,7];
let arr = [...arr1,...arr2];
console.log(arr);       //[1,2,3,4,5,6]

例三:

function show(...args){
    fn(...args)
 }
 function fn(a,b){
     console.log(a+b);
 }
 show(12,5);

三、默认参数

例一:

function show(a,b=5,c=3){          //默认b=5,c=3;
    console.log(a,b,c);
}
show(1);       //输出为1,5,3
show(2,6,8);   //输出为2,6,8
show(2,6,8,0); //输出为2,6,8

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值