js学习之Arguments对象...rest参数实例
程序员文章站
2022-06-04 08:38:47
arguments 是一个对应于传递给函数的参数的类数组对象
描述
arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引...
arguments 是一个对应于传递给函数的参数的类数组对象
描述
arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。此对象包含传递给函数的每个参数的条目,第一个条目的索引从0开始。例如,如果一个函数传递了三个参数,你可以以如下方式引用他们:
arguments[0] arguments[1] arguments[2]
参数也可以被设置:
arguments[1] = 'new value';
arguments对象不是一个 array 。它类似于array,但除了length属性和索引元素之外没有任何array属性。例如,它没有 pop 方法。但是它可以被转换为一个真正的array:
var args = array.prototype.slice.call(arguments); var args = [].slice.call(arguments); // es2015 const args = array.from(arguments);
属性
arguments.callee
指向当前执行的函数。
arguments.caller
指向调用当前函数的函数。
arguments.length
指向传递给当前函数的参数数量。
arguments[@@iterator]
返回一个新的array迭代器对象,该对象包含参数中每个索引的值。
…rest参数
es5写法
script函数允许接收任意个参数,于是我们就不得不用arguments来获取所有参数:
function foo(a, b) { var i, rest = []; if (arguments.length > 2) { for (i = 2; i