静止参数 是一种处理函数参数的改进方法,允许我们更轻松地将各种输入作为函数中的参数处理。rest参数语法允许我们将不确定数量的参数表示为一个数组。在rest参数的帮助下,可以使用任意数量的参数调用函数,无论它是如何定义的。ES2015或ES6中增加了Rest参数,提高了处理参数的能力。 注: 为了运行本文中的代码,请使用浏览器提供的控制台或使用类似的在线工具 回复。信息技术 . 语法:
function functionname(...parameters) //... is the rest parameter (triple dots){statement;}
注: 当…位于函数参数的末尾时,它就是rest参数。它将n个参数存储为一个数组。让我们看看rest参数是如何工作的:
Javascript
// Without rest parameter function fun(a, b){ return a + b; } console.log(fun(1, 2)); // 3 console.log(fun(1, 2, 3, 4, 5)); // 3 |
输出:
在上面的代码中,即使我们传递的参数多于参数,也不会抛出错误,但只会计算前两个参数。在使用rest参数的情况下是不同的。通过使用rest参数,我们可以将任意数量的参数收集到一个数组中,并对它们执行我们想要的操作。 使用rest参数演示数字相加的Javascript代码。
Javascript
// es6 rest parameter function fun(...input){ let sum = 0; for (let i of input){ sum+=i; } return sum; } console.log(fun(1,2)); //3 console.log(fun(1,2,3)); //6 console.log(fun(1,2,3,4,5)); //15 |
输出:
当我们调用fun()函数时,我们能够得到我们在参数中输入的所有元素的总和。我们利用for得到数组中所有元素的和。。用于遍历数组中可数元素的循环。 注: rest参数必须是最后一个参数,因为它的工作是将所有剩余参数收集到一个数组中。因此,使用下面的代码这样的函数定义没有任何意义,会引发错误。
javascript
// non-sense code function fun(a,...b,c){ //code return ; } |
让我们在函数中使用rest参数和其他一些参数,如下所示:
javascript
// rest with function and other arguments function fun(a,b,...c){ console.log(`${a} ${b}`); //Mukul Latiyan console.log(c); //[ 'Lionel', 'Messi', 'Barcelona' ] console.log(c[0]); //Lionel console.log(c.length); //3 console.log(c.indexOf( 'Lionel' )); //0 } fun( 'Mukul' , 'Latiyan' , 'Lionel' , 'Messi' , 'Barcelona' ); |
输出:
在上面的代码示例中,我们将rest参数作为第三个参数传递,然后我们基本上用五个参数调用函数fun(),前两个参数被正常处理,其余的都由rest参数收集,因此当我们试图访问 c[0] 还需要注意的是,rest参数给出了一个数组作为回报,我们可以利用javascript提供的数组方法。