javascript模仿重载

查看:85
本文介绍了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");

解决方案

你可能看的不仔细,不应该是实现重载,而是模拟重载。高程中多次强调JavaScript中函数没有重载。

但是我们可以在函数内部,通过判断arguments.length ,以及判断传入的参数类型,执行不同的代码来模拟重载

function a(){
  if(arguments.length===1){
    //执行某些代码
  }else if(arguments.length===2){
    //执行另一些代码
  }

}

这篇关于javascript模仿重载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆