javascript利用arguments实现方法重载机制

来源:互联网 发布:js 跨域上传 编辑:程序博客网 时间:2024/06/10 03:28

javascript支持方法的重写,但是没有方法重载机制,那么可以模仿重载机制吗?答案是肯定的。

(在这里补充一下重写和重载的区别,笔者曾几何时一度混淆。重写是子类覆盖父类的方法,方法名/参数列表/函数返回类型 必须相同;重载是同一个类中多个方法实现,方法名必须相同,参数列表必须不同,返回类型可以不同 )

利用全局变量arguments可以实现,arguments是类数组,通过判断传入参数的长度可以访问到参数列表的值。

举例说明:

      function doAdd(){        if(arguments.length==1){          alert(arguments[0]+10);        }else if(arguments.length==2){          alert(arguments[0]+arguments[1]);        }      }      doAdd(10); //outputs "20"      doAdd(30,20);//outputs "50"



0 0