代码改变世界

关于arguments对象的问题

2017-03-30 22:16  渣渣爱学习  阅读(252)  评论(0编辑  收藏  举报

   arguments对象是关于参数的问题,传的是实参,当传参时,函数内会生成arguments属性,与此同时会生成arguments的方法,比如arguments.length(参数的个数),arguments[0](传参的第一个参数,以此类推)

   function arg(){

    if(arguments.length == 1)  

    alert(arguments[0]);

   else 

      alert(arguments[0]+arguments[1]);

}

arg(10);//输出10;

arg(10,20);//输出30

tips:

    关于传的是实参的问题,这里作为补充理解:

    同样有这么一个函数 function arg(a,b,c){

           alert(arguments.length);

}

arg(10);//1

arg(10,20);//2

所以arguments.length是以实参的个数决定的