JavaScript Arguments

arguments 是一个类数组对象。

后台其他的语言都有一种函数重载现象。就是函数名相同,但是传递的参数不同。属于不同的函数。但是JS中是没有重载现象的。JS中函数名相同,传递参数不同时,后面的会覆盖前面的。

function fun(a,b) {
console.log(1);
}

function fun(a,b,c) {
console.log(2);
}

function fun(a,b,c,d) {
console.log(3);
}
fun(1,2);

最后的结果只会是 3. 因为最后一个function fun,覆盖了之前的function fun。

function sum(a,b) {
 return a+b+ arguments[2];
}
console.log(sum(1,2,3,4,5,6));

这里的最终结果是  1+2+3 = 6;因为arguments[2] = 3. 

这里arguments指导入的整个参数(1,2,3,4,5,6);

下图是让你看看这个arguments到底是什么。

 Arguments对象将我传入的6个参数以数组的形式保存在里面,还有保存了我传入函数的实参的个数(length)

原文地址:https://www.cnblogs.com/ningxin/p/10243751.html