javascript模仿重载

今天看了下javascript高级编程这本书,书中提到可以使用传如不同的参数数量和类型实现java的方法重载,但我试了好像不行,都会被后面的function给覆盖。

function a(num1,num2){

          alert("djang");

}


function a(num0){

            alert("diang2");

}


         a("aaa"); //结果是djang2

         a("aaa","bbb"); //结果是djang2

这样也不行、、、、、


function a(){

             if(arguments.length == 2){

                  alert("djang");

             }

             

         }


         function a(){

            if(arguments.length == 1){

              alert("diang2");

            } 

         }


         a("aaa","bb");

         a("aaa");


PIPIONE
浏览 496回答 1
1回答

森栏

你可能看的不仔细,不应该是实现重载,而是模拟重载。高程中多次强调JavaScript中函数没有重载。但是我们可以在函数内部,通过判断arguments.length ,以及判断传入的参数类型,执行不同的代码来模拟重载function a(){  if(arguments.length===1){    //执行某些代码  }else if(arguments.length===2){    //执行另一些代码  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript