为啥需要rest参数
在过去,我们定义函数的时候,会定义一系列的形参,然后后面如果需求有变化,比如需要增加形参,那么我们会在这个函数的形参后面定义一个具有默认值的形参,避免之前的调用出错,这样反反复复,我们一直在维护这个函数,一直在不断的往里面添加多个具有默认值的形参参数,如果这个函数还有文档的话,一个悲催的问题出现了,我们还要不断的维护这个文档,不断的在文档里面更新添加这个参数是什么、类型是什么、作用是什么、什么时候添加的、谁添加的等等,是不是很累呢?
举个例子
rest参数解决了上面的问题
rest参数是一个数组参数,也就是说数组作为函数的参数。
如下args为数组参数,拥有数组的所有方法,比如下面的sort方法。
<script>
function sortNumber(...args){
var sort1=args.sort();
return sort1;
}
alert(sortNumber(1,3,2,4))//1,2,3,4
</script>
查看特定的数组元素
<script>
function sortNumber(...args){
var sort1=args.sort();
return sort1[2];
}
alert(sortNumber(1,3,2,4))//3
</script>