日期:2014-05-16  浏览次数:20492 次

js-函数重载

?

最近开发的时候发现一个小问题:函数重载。

?

function a(url){

     //参数不设置target,只在当前窗口操作

}

function a(url,target){

   //参数增加一个target,在指定的target打开url

}
?关于重载:在同一访问区内被声明的几个具有不同参数列的(参数的类型、个数、顺序不同)同名函数,程序解析的时候会根据不同的参数列来确定具体调用哪个函数。

?

??找了一个解决方案:

   function a(){
     //根据参数的个数
  var length = arguments.length;
  if(length ==1){
      var url =arguments[0];
      a1(url );
    }else{
      var url =arguments[0];
      var target=arguments[1];
      a2(url,target);
    }
}

  function a1(url){

  }
  function a2(url,target){

  }
?这样的话还是能实现方法名重复,但是对应参数不一样执行不一样的操作