arguments对象

  arguments对象是个特殊的对象,在函数代码中,无需指明参数名就能访问这些参数。例如:function helloWorld(arg1,arg2);此时arguments[0]就可以访问arg1的值,arg1在参数中的位置为0,以此类推;所以无需重载函数就可以重复使用定义的函数。

  arguments.length可以获取函数实际参数的个数:

    function fn(arg1,arg2,arg3){

      console.log(arguments.length)

    };

    aa(1,2);

    //result:2;

  可以看出,即使在定义函数时,定义了三个参数,但是arguments.length的长度为实际传入函数的参数个数;

  上面提到了,利用arguments对象,可以模拟重载函数:

    function sayHello(){

      if(arguments.length==1){

        //do something...

      }else(arguments.length==2){

        //do something...

      }else{

        //do something

      }

    }