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 相关文章推荐
IE 缓存策略的BUG的解决方法
Jul 21 Javascript
使用jquery解析XML的方法
Sep 05 Javascript
浏览器缩放检测的js代码
Sep 28 Javascript
JS获取数组最大值、最小值及长度的方法
Nov 24 Javascript
JS实现根据文件字节数返回文件大小的方法
Aug 02 Javascript
Javascript使用function创建类的两种方法(推荐)
Nov 19 Javascript
Vue2.0 组件传值通讯的示例代码
Aug 01 Javascript
基于node.js express mvc轻量级框架实践
Sep 14 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 Javascript
VUE简单的定时器实时刷新的实现方法
Jan 20 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
Jan 19 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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
php mysql索引问题
2008/06/07 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
2014/07/05 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
php探针不显示内存解决方法
2019/09/17 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
Vue.js用法详解
2017/11/13 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
微信小程序顶部导航栏滑动tab效果
2019/01/28 Javascript
Python中的列表知识点汇总
2015/04/14 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python列表切片操作实例总结
2019/02/19 Python
python爬虫模拟浏览器的两种方法实例分析
2019/12/09 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
python的数学算法函数及公式用法
2020/11/18 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
德国网上药房:Apotal
2017/04/04 全球购物
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
房屋转让协议书
2014/04/11 职场文书
物流管理专业求职信
2014/05/29 职场文书
优秀大学生自荐信
2014/06/09 职场文书
捐款活动总结
2014/08/27 职场文书
岳庙导游词
2015/02/04 职场文书
财务稽核岗位职责
2015/04/13 职场文书
分析并发编程之LongAdder原理
2021/06/29 Java/Android
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电