js函数(2)“重载”(js中没有重载,这里是模拟重载)

 一、函数的重载

        当函数名相同,不同形参列表的多个函数,在调用的的时候,会根据传入参数个数的不同选择调用相应的函数,这样做可以减少函数的数量。 

        js默认不支持重载语法,因为js不允许多个同名函数的存在,如果存在同名函数,在运行程序的时候,js的声明提前机制会将最后一个函数覆盖掉前面的所有函数,js虽然不支持重载,但是js的函数自带一个arguments对象,实现重载的功能,arguments对象不需要人为创建。arguments是一个类数组对象,但是不是真正的数组,和数组的API不通用,只要不确定传来的参数的个数的时候,就不用定义形参列表,用arguments存所有传入参数的值。举例见下面,

   function add(){//根据传入参数的不同,都达到累加的效果
                 var sum=0;
               for(var i=0;i<arguments.length;i++){
                    sum+=arguments[i];

               }
                console.log(sum);
          }
          add(1);//1
          add(1,2);//3
          add(1,2,3);//6
          

 

posted @ 2019-08-28 15:38  猴葱  阅读(201)  评论(0编辑  收藏  举报