先看一段代码,了解一下arguments的作用
function addtest(num1,num2,num3){
console.log(arguments)
var sum=0
for(var i=0;i<arguments.length;i++){
console.log(arguments[i])
sum+=arguments[i]
}
return sum
}
var sum=addtest(1,2,3,4,5,6,7)
console.log(sum)
你会发现传入参数的个数多余函数原有的参数的个数,这时可以使用arguments类数组来取得未取到或者直接取出所有传入的参数!
arguments 该对象代表正在执行的函数和调用它的函数的参数。
Arguments是一个类似数组,但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式,可以由 arguments[ i ] 来访问对应的单个参数的值,并拥有数组长度属性 length 。还有就是 arguments 对象存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表,而且不能显式创建 arguments对象。arguments对象只有函数开始时才可用。