
上QQ阅读APP看书,第一时间看更新
2.3.2 rest参数
在JavaScript中,无论在定义函数时设置了多少个形参,在调用函数时都可以传入任意数量的实参,在函数内部可以使用arguments对象获取传入的实参。例如,定义一个获取参数最大值的函数,代码如下:

在ES6中引入了rest参数,在函数的形参前添加3个点,就表示这是一个rest参数。例如,将上述代码修改为使用rest参数的形式,代码如下:

在定义函数时设置的参数列表中,普通参数和rest参数可以同时存在。如果既有普通参数也有rest参数,那么rest参数必须放到参数列表的最后面的位置。
【例2.1】获取个人信息。(实例位置:资源包\TM\sl\2\01)
定义一个获取个人信息的函数,在参数列表中既有普通参数也有rest参数,通过调用函数来获取个人信息。代码如下:

运行结果如图2.1所示。

图2.1 输出个人信息
编程训练(答案位置:资源包\TM\sl\2\编程训练)
【训练1】输出图书名称和图书作者 定义一个获取图书名称和图书作者的函数,在设置参数时使用rest参数的形式,在调用函数时将图书名称和图书作者作为参数进行传递。
【训练2】输出完整的收货地址 在某购物网站的收货地址栏中,地址由省、市、区和详细地址组成。定义一个获取完整收货地址的函数,在参数列表中既有普通参数也有rest参数,通过调用函数获取完整的收货地址。