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 相关文章推荐
拖动一个HTML元素
Dec 22 Javascript
JQuery live函数
Dec 24 Javascript
使用jQuery+HttpHandler+xml模拟一个三级联动的例子
Aug 09 Javascript
js冒泡、捕获事件及阻止冒泡方法详细总结
May 08 Javascript
jQuery淡入淡出元素让其效果更为生动
Sep 01 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
Mar 18 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
Apr 19 Javascript
微信小程序版本自动更新的方法
Jun 14 Javascript
JsonProperty 的使用方法详解
Oct 11 Javascript
JS中的模糊查询功能
Dec 08 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
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
JS实现放烟花效果
2020/03/10 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
Python全局变量用法实例分析
2016/07/19 Python
Django REST framework 分页的实现代码
2019/06/19 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
python银行系统实现源码
2019/10/25 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
Python实现画图软件功能方法详解
2020/07/28 Python
Python调用C/C++的方法解析
2020/08/05 Python
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
UNIX文件类型
2013/08/29 面试题
程序员经常用到的UNIX命令
2015/04/13 面试题
幼儿园毕业家长感言
2014/02/10 职场文书
教师党员公开承诺书
2014/03/25 职场文书
简单租房协议书范本
2014/08/20 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
董事长致辞
2015/07/29 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript