页面有一个按钮
<button onclick="onclick('a','b','c','d')"></button>
在一个js文件里有三个同名方法
onclick(a,b,c,d){
 alert('1');
}
onclick(a,b,c,d,e,f){
 alert('2');
}
onclick(a,b,c,d,e,f,g){
 alert('3');
}
每次单击按钮,都alert的3
为什么不是alert 1呢

解决方案 »

  1.   

    定义3个同名方法 就跟你3个同名变量一样var iCount = 0;
    iCount = 1;iCount = 2;
    alert(iConut)也就是第三个方法把前面的覆盖了.
      

  2.   

    JS 不支持函数重载, 可以在函数里根据 arguments.length 来确定调用时用了几个参数
      

  3.   

    JS不支持重载,最后一个onclick会覆盖前面的onclick方法
      

  4.   

    JS 不支持函数重载, 可以在函数里根据 arguments.length 来确定调用时用了几个参数 
    ==
    支持
      

  5.   

    onclick(a,b,c,d)
    {
    if(arguments.length==4)
    {
      alert('1'); 
    }
    if(arguments.length==6)
    {
      alert('2'); 
    }
    if(arguments.length==7)
    {
      alert('3'); 
    }

      

  6.   

    JS 不支持函数重载, 可以在函数里根据 arguments.length 来确定调用时用了几个参数