(三十六)类数组对象arguments

类数组对象:arguments

在函数调用时,我们总能见到arguments这个对象,它具体是用来干什么的呢?感觉逼格非常高呢
  • 函数在使用时,我们总会位函数传入各种参数,arguments会将参数储存起来以便我们使用,下标从0开始。返回值还有数组的长度。
function a() {
    console.log(arguments);
}
a(1,2,3,4,5)
可以看到打印结果位:
  • 使用情景
  • 在函数传参的时候,不必要指明参数名称,可以使用arguments来确定
  • 有些语言在我们给函数指定了参数名之后,当调用函数时,会判断当前传入的参数是否与函数定义的参数个数相等,不相等就会报错,但是灵活的js(不是我说,js是真的灵活)并不会验证传递给函数的参数个数是否等于函数定义的参数个数。所以为了装逼(代码的简洁度),我们使用arguments调用参数可以不混淆不同函数之间的参数名。另外为了装逼(代码的严整度),我们也能用arguments来判断当前传入参数的个数是否与我们需要的数量一致。
function add() { 
    if( arguments.length == 2 ){
        return arguments[0] + arguments[1];
    }else{
        return '传入参数不合法';
    }
}
console.log( add(2,3) ); //5
console.log( add(1,2,3) );//传入参数不合法

  

arguments封装一个数字相加的方法
function add() {
var len = arguments.length,
sum = 0;
for(;len--;){
sum += arguments[len];
}
return sum;
}
console.log( add(1,2,3) ); //6
console.log( add(1,3) ); //4
console.log( add(1,2,3,5,6,2,7) ); //26

  

原文地址:https://www.cnblogs.com/bgwhite/p/9405830.html