美文网首页
JavaScript中的剩余参数

JavaScript中的剩余参数

作者: 忽如寄 | 来源:发表于2016-08-17 12:02 被阅读238次

JavaScript中的剩余参数是指函数定义时以...为前缀的参数,这个参数是一个没有对应形参的实参组成的一个数组,所以它与arguments有一定的区别,剩余参数中可以使用push、map等数组方法

function num(a,b,...arg){
      console.log(arg);
      arg.push(a,b);
      console.log(arg);
}
num(1,2,3,4,5);//[3,4,5]    [3,4,5,1,2]

因为使用方法<code>functionName.length</code>可以获取函数对应的形参个数,其中functionName.length为对应的函数名,所以可以用arguments模拟剩余参数

function arg(a,b){
      console.log(arg.length);
      var newArg=Array.prototype.slice.call(arguments,arg.length);
      console.log(newArg);
}
arg(1,2,3,4,5);//2   [3,4,5]

说明一下slice的用法,当slice方法没有参数时,返回原来的数组,当参数只有一个时,则得到第二个参数之后所有元素组成的新数组,因此,补全上面的slice参数,就是

function arg(a,b){
      console.log(arg.length);
      var newArg=Array.prototype.slice.call(arguments,arg.length,arguments.length);
      console.log(newArg);
}
arg(1,2,3,4,5);//2   [3,4,5]

call方法中第二个参数开始接受的是传递给方法的参数,而apply方法接受的是参数组成的数组,所以使用apply方法就是

function arg(a,b){
      console.log(arg.length);
      var newArg=Array.prototype.slice.apply(arguments,[arg.length,arguments.length]);
      console.log(newArg);
}
arg(1,2,3,4,5);//2   [3,4,5]

剩余参数可以使用数组的任意方法:

function num(...arg){
  return arg.map(function(ele){
      return ele*ele;})
}
num(2,3,4);//[4,9,16]

相关文章

  • JavaScript中的剩余参数

    JavaScript中的剩余参数是指函数定义时以...为前缀的参数,这个参数是一个没有对应形参的实参组成的一个数组...

  • JavaScript中的声明展开和剩余参数

    在es6中, (...)可以用作声明展开和剩余参数在es5中,我们可以用apply()函数把数组转化成参数。es6...

  • 032|匿名函数&函数剩余参数

    函数剩余参数 上一节中,有提到函数剩余参数也能解决不定参数问题。这一节我们就来学习一下剩余参数。 剩余参数(res...

  • 剩余参数

    剩余参数(rest parameter)允许长度不确定的实参表示为一个数组。 描述 如果一个函数的最后一个形参是以...

  • TS基础篇4:解构 与 展开

    (一)解构数组 1、解构赋值 2、作用于函数参数 3、...语法创建剩余变量 ~~由于是JavaScript, 你...

  • ES6新增语法...

    剩余参数 剩余参数语法允许我们将一个不定数量的参数表示为一个数组 箭头函数中没有arguments算出参数的和 剩...

  • 数据结构与算法 javascript

    基础概念 javascript中,函数的参数传递方式都是按值传递,没有按引用传递的参数。但是javascript中...

  • ES6 rest参数

    REST参数(剩余参数) MDN:剩余参数语法允许我们将一个不定数量的参数表示为一个数组。剩余参数必须是函数参数的...

  • Linux下查看磁盘剩余空间和文件夹大小

    df命令是[linux](javascript:;)系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间...

  • 2021-07-06 5. 剩余参数

    剩余参数语法允许咱们将一个不定数量的参数表示为一个数组。 老样子,来 see see。 如果不想在剩余参数中收集所...

网友评论

      本文标题:JavaScript中的剩余参数

      本文链接:https://www.haomeiwen.com/subject/ztemsttx.html