函数默认参数

函数默认参数

JavaScript Es6更新后,函数也出现了变化,这种变化,使我们的开发变得更加容易。下面详情介绍一下:

  1. 函数出现了默认参数,看如下例子:
function show(a,b){
console.log(a,b)
}
show(2)
//这个时候打印结果为:2 undefined
//原因很明显我们的第二个参数没有传,通常的时候,我们可能在函数里面做一下判断,例如:
b = b || '默认值'
这种方式之前我们经常用,但是做起来,还是比较麻烦的。
而现在,我们可以为函数设定默认值了,告别了这种繁复的判断流程,看下面例子:

function show(a,b=2){
console.log(a,b)
}
show(1)
//打印结果为:1 2
//在这里a,我们传了,b我们没传,但是我们给了默认值,所以打印结果为  1 2;
//这里需要注意一下
1.函数只有没传参的时候,才会取默认值,如果传的是空的,也是不会取默认值的。
2.如果设置了默认值,就不能在函数里面使用let、const 重复定义变量名;

2.扩展运算符 : …
“…” 的作用为扩展,或者重置。怎么使用,看如下例子:

let arr = ["apple","bananer","nams" ];
console.log(...arr)
打印结果为:apple bananer nams
//可以看到。通过 “...”可以展开一个数组这个运算符可以适用于很多地方,比如函数传参,我举个例子:

function show(a,b,c,d,e){
console.log(a,b,c,d,e)
}
show(1,2,3,4,5)
//正常的情况下,我们一般都会选择这样传参,但是当一个函数需要多个参数的时候, 这么接收,就会显的很乱,不过还好 es6为我们提供了 “...”运算符,看下放例子:

function show(...a){
console.log(a)
}
show(1,2,3,4,5)
打印结果为:[1,2,3,4,5]

可以很清楚的看到,"…"运算符把我们传递的多个参数,装到一个数组里面,一起打印出来了。可以打开,也可以释放。我们还可以对接收到的参数进行批量处理,或者排序等行为:

function show(...a){
return a.sort();
}
console.log(show(3,9,5,8,7))
打印结果为: [3, 5, 7, 8, 9]

这样我们如果有多个参数,就不用每一个都要进行push到数组在进行排序等操作了。是不是简单了很多呢.当然这个运算符的作用远远不止于此:

function show(a,b,...c){
console.log(a,b)
console.log(c)
}
show(3,9,5,8,7)
打印结果为:
 3 9
 [5,8,7]

看上方例子,可以发现,a,b都是根据顺序正常打印的,c被我们添加了剩余运算符后,打印的是除了a,b以外剩余的所有参数,被装到一个数组里面,所以“…”还有另外一个名字,叫做剩余运算符。这里需要注意,剩余运算符,只能放在最后使用,不可以放在中间使用,不然会报错。

发布了38 篇原创文章 · 获赞 24 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39162041/article/details/103609726