JS模拟实现方法重载示例


Posted in Javascript onAugust 03, 2016

本文实例讲述了JS模拟实现方法重载。分享给大家供大家参考,具体如下:

在JS方法中,不能像C#方法能实现重载,但是我们可以通过js中的arguments来实现js方法的重载。

下面给出html实例:

<html>
<head>
<title>JS方法的重载</title>
<script>
function testFun1(arm1){
  /// <summary>
  /// JS重载测试被调用方法1
  /// </summary>
  /// <param name="arm1"></param>
  alert(arm1);
}
function testFun2(arm1,arm2){
  /// <summary>
  /// JS重载测试被调用方法2
  /// </summary>
  /// <param name="arm1"></param>
  /// <param name="arm2"></param>
  alert(arm1+','+arm2);
}
function testFun3(arm1,arm2,arm3){
  /// <summary>
  /// JS重载测试被调用方法3
  /// </summary>
  /// <param name="arm1"></param>
  /// <param name="arm2"></param>
  /// <param name="arm3"></param>
  alert(arm1+','+arm2+','+arm3);
}
function testFun4(arm1,arm2,arm3,arm4){
  /// <summary>
  /// JS重载测试被调用方法4
  /// </summary>
  /// <param name="arm1"></param>
  /// <param name="arm2"></param>
  /// <param name="arm3"></param>
  /// <param name="arm4"></param>
  alert(arm1+','+arm2+','+arm3+','+arm4);
}
function testFun(arm1,arm2,arm3,arm4){
  /// <summary>
  /// JS重载测试方法
  /// </summary>
  /// <param name="arm1"></param>
  /// <param name="arm2"></param>
  /// <param name="arm3"></param>
  /// <param name="arm4"></param>
  if(arguments.length==1){
     alert('我是JS的重载方法,该方法的参数一共有'+arguments.length+'个。\n参数1:'+arguments[0]);
     //这里既是执行重载的方法
     testFun1(arm1);
  }
  else if(arguments.length==2){
     alert('我是JS的重载方法,该方法的参数一共有'+arguments.length+'个。\n参数1:'+arguments[0]+'\n参数2:'+arguments[1]);
     //这里既是执行重载的方法
     testFun2(arm1,arm2);
  }
  else if(arguments.length==3){
     alert('我是JS的重载方法,该方法的参数一共有'+arguments.length+'个。\n参数1:'+arguments[0]+'\n参数2:'+arguments[1]+'\n参数3:'+arguments[2]);
     //这里既是执行重载的方法
     testFun3(arm1,arm2,arm3);
  }
  else if(arguments.length==4){
     alert('我是JS的重载方法,该方法的参数一共有'+arguments.length+'个。\n参数1:'+arguments[0]+'\n参数2:'+arguments[1]+'\n参数3:'+arguments[2]+'\n参数4:'+arguments[3]);
     //这里既是执行重载的方法
     testFun4(arm1,arm2,arm3,arm4);
  }
  //多个参数以此类推
}
//初始化执行的方法
window.onload=function(){
  testFun(1,2,3);
}
</script>
</head>
<body>
  JS方法的重载
</body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
Dec 28 Javascript
基于jquery的不规则矩形的排列实现代码
Apr 16 Javascript
javascript 实现子父窗体互相传值的简单实例
Feb 17 Javascript
JS实现清除指定cookies的方法
Sep 20 Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
详解Angular.js指令中scope类型的几种特殊情况
Feb 21 Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 Javascript
解析vue data不可以使用箭头函数问题
Jul 03 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
Oct 30 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 Javascript
jQuery数组处理函数整理
Aug 03 #Javascript
功能强大的Bootstrap组件(结合js)
Aug 03 #Javascript
AngularJS基础 ng-submit 指令简单示例
Aug 03 #Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 #Javascript
AngularJS教程 ng-style 指令简单示例
Aug 03 #Javascript
js判断数组key是否存在(不用循环)的简单实例
Aug 03 #Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 #Javascript
You might like
php实现事件监听与触发的方法
2014/11/21 PHP
php cookie 详解使用实例
2016/11/03 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
js 遍历对象的属性的代码
2011/12/29 Javascript
Js nodeType 属性全面解析
2013/11/14 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
2015/12/17 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
Javascript防止图片拉伸的自适应处理方法
2017/12/26 Javascript
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
js实现小时钟效果
2020/03/25 Javascript
python 调用HBase的简单实例
2016/12/18 Python
python逆向入门教程
2018/01/15 Python
python try except 捕获所有异常的实例
2018/10/18 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
Bugatchi官方网站:男士服装在线
2019/04/10 全球购物
后勤人员自我评价怎么写
2013/09/19 职场文书
自动化专业个人求职信范文
2013/12/30 职场文书
回门宴新郎答谢词
2014/01/12 职场文书
新闻学专业个人求职信写作
2014/02/04 职场文书
厂长岗位职责
2014/02/19 职场文书
授权委托书格式模板
2014/04/03 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
创先争优公开承诺书
2014/08/30 职场文书
升职自荐信怎么写
2015/03/05 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android