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中的类继承
Nov 25 Javascript
让人期待的2011年度最佳 jQuery 插件分享
Mar 16 Javascript
javascript自定义滚动条实现代码
Apr 20 Javascript
使用jquery获取url及url参数的简单实例
Jun 14 Javascript
微信小程序加载更多 点击查看更多
Nov 29 Javascript
用headjs来管理和加载js 提高网站加载速度
Nov 29 Javascript
基于JavaScript实现窗口拖动效果
Jan 18 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
vue2.0结合Element-ui实战案例
Mar 06 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
Mar 29 Javascript
layui form.render('select', 'test2') 更新渲染的方法
Sep 27 Javascript
解决echarts数据二次渲染不成功的问题
Jul 20 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中使用数组实现堆栈数据结构的代码
2012/02/05 PHP
php读取csc文件并输出
2015/05/21 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
JS将表单导出成EXCEL的实例代码
2013/11/11 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
Javascript函数的参数
2015/07/16 Javascript
用svg制作富有动态的tooltip
2015/07/17 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
webpack4 css打包压缩问题的解决
2018/05/18 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
[04:38]完美世界携手游戏风云打造 卡尔工作室饰品系统篇
2013/04/25 DOTA
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python距离测量的方法
2018/03/06 Python
python基础教程项目二之画幅好画
2018/04/02 Python
python让列表倒序输出的实例
2018/06/25 Python
django缓存配置的几种方法详解
2018/07/16 Python
python发送告警邮件脚本
2018/09/17 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Matplotlib 绘制饼图解决文字重叠的方法
2020/07/24 Python
娱乐地球:Entertainment Earth
2020/01/08 全球购物
如何进行有效的自我评价
2013/09/27 职场文书
中专毕业自我鉴定
2013/10/16 职场文书
自我鉴定200字
2013/10/28 职场文书
会议接待欢迎词
2014/01/12 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python