手机版

轻松学习JavaScript函数中的休息参数

时间:2021-08-23 来源:互联网 编辑:宝哥软件园 浏览:

JavaScript函数可以使用任意数量的参数。与其他语言(如C#和Java)不同,您可以在调用JavaScript函数时传递任意数量的参数。JavaScript函数允许未知数量的函数参数。在ECMAScript 6之前,JavaScript有一个变量来访问这些未知或可变数量的参数,它是一个类似数组的对象,而不是数组。考虑下面的代码来理解参数变量:

函数add(){ var result=0;for(设I=0;长度;i ){result=结果参数[I];}返回结果;}var r=add(6,9,3,2);console . log(r);var t=add(7,56,9);console . log(t);如您所见,arguments对象用于访问未知或可变的函数参数。即使参数使用长度属性和方括号,它也不是真正的JavaScript数组。不能在arguments对象上使用其他JavaScript数组方法,如pop、push、slice等。使用参数时的一些问题是:

JavaScript函数的arguments对象不是真正的JavaScript数组;因此,不能使用其他数组方法,如pop、push、slice等。很难在内部函数中访问外部函数的参数对象。要访问它,您需要将外部函数的参数函数分配给变量,然后在内部函数中使用它。

如果要将arguments对象用作数组,则需要通过Aarry.prototype.slice手动转换它ECMAScript 6引入了一个新函数Rest parameter,它将未知数量的参数表示为函数中的数组。它不仅将额外的参数表示为数组,而且解决了参数对象的许多问题。用rest参数覆盖上面的add函数。

函数add(.Args){var结果=0;for(设I=0;长度;I){ result=result ArgS[I];}返回结果;}var r=add(6,9,3,2);console . log(r);var t=add(7,56,9);console . log(t);您可以将静止参数定义为…参数或…参数。如果最后一个命名的函数参数以…(三点)为前缀,它将成为函数的剩余参数。JavaScript函数剩下的参数是纯JavaScript数组。在上面的代码中,……Arages是函数add的剩余参数,因为它是唯一命名的参数,并且它的前缀也是……(三点)。

因为rest参数是一个JavaScript数组,所以您可以对rest参数argets执行推送和弹出等操作,如以下代码所示:

函数add(.Arags){ Arags . push(10);var结果=0;for(设I=0;长度;I){ result=result ArgS[I];} var last item=ArtAGs . pop();console . log(LastItem);返回结果;}的rest参数}JavaScript函数也可以与其他参数一起工作。如果不想在rest参数数组中包含特定参数,可能需要在函数中使用其他命名参数。考虑以下代码块:

函数add(num1,num2,Arags){ console . log(num 1);console . log(num 2);console . log(Arags . length);}var r=add(6,9,3,2);var t=add(7,56,9);对于第一个函数调用,6和9将分别分配给num1和num2。对于第二个函数调用,7和56将被分配给num1和num2。启动第三个参数的参数将被分配给rest参数数组。请记住,前两个参数不是rest参数数组的一部分。因此,如果您打算在rest参数中包含所有值,您应该将它们定义为在开头用逗号分隔的命名参数。下面给出的代码将导致错误:

函数add(num1,artags,num 2){ console . log(num 1);console . log(num 2);console . log(Arags . length);}在上面的代码中,rest参数不是最后一个参数,所以JavaScript抛出了一个错误。rest参数必须是最后一个形式参数。

JavaScript允许您中断rest参数,这意味着您可以将rest变量数据解包为不同的变量名。请参见以下代码:

函数add(.[a,b,c]){返回a b c;} var r=add(6);console . log(r);var t=add(7,56,9);console . log(t);第一个函数调用将分配a=6,b=undefined,c=undefined,第二个函数调用将分配a=7,b=56,c=9。在本例中,该函数将忽略传递的任何额外参数。

JavaScript函数的rest参数是对使用函数的未知参数作为参数对象的一个很大的改进。它是一个纯JavaScript数组;因此,您可以在其上使用所有数组方法。您可以将rest变量数据解包到命名变量中。您可以给rest参数起任何名字,这是使用arguments关键字的另一个很大的改进。

easy JavaScript part 2:函数中的rest参数是什么?

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:轻松学习JavaScript函数中的休息参数是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。