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 动态数据下的锚点错位问题解决方法
Dec 24 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 Javascript
js给dropdownlist添加选项的小例子
Mar 04 Javascript
jQuery判断是否存在滚动条的简单方法
Sep 17 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
详解package.json版本号规则
Aug 01 Javascript
JS定时器如何实现提交成功提示功能
Jun 12 Javascript
vue实现div单选多选功能
Jul 16 Javascript
请求时token过期自动刷新token操作
Sep 11 Javascript
Vue.Draggable实现交换位置
Apr 07 Vue.js
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
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中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
一个简单的php加密解密函数(动态加密)
2013/06/19 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
jquery实现加载进度条提示效果
2015/11/23 Javascript
jQuery Dialog 取消右上角删除按钮事件
2016/09/07 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
vue 过滤器filter实例详解
2018/03/14 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
python使用htmllib分析网页内容的方法
2015/05/08 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
2017/12/03 Python
分析python请求数据
2018/08/19 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
python调用百度API实现人脸识别
2020/11/17 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
优秀的毕业生的自我评价
2013/12/12 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
党旗在我心中演讲稿
2014/09/15 职场文书
2014财务人员自我评价范文
2014/09/21 职场文书
服务员岗位职责
2015/02/03 职场文书
就业推荐表自我评价范文
2015/03/02 职场文书
2015年依法行政工作总结
2015/04/29 职场文书
2016入党心得体会范文
2016/01/06 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
餐厅开业活动方案
2019/07/08 职场文书
基于angular实现树形二级表格
2021/10/16 Javascript
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL