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 相关文章推荐
学习YUI.Ext 第四天--对话框Dialog的使用
Mar 10 Javascript
JS Timing
Apr 21 Javascript
js计算德州扑克牌面值的方法
Mar 04 Javascript
javascript中的正则表达式使用详解
Aug 30 Javascript
jQuery绑定事件on()与弹窗的简要概述
Apr 27 Javascript
深入理解Angular4中的依赖注入
Jun 07 Javascript
js使用原型对象(prototype)需要注意的地方
Aug 28 Javascript
利用vue+elementUI实现部分引入组件的方法详解
Nov 22 Javascript
swiper动态改变滑动内容的实现方法
Jan 17 Javascript
es6 for循环中let和var区别详解
Jan 12 Javascript
Vue引入Stylus知识点总结
Jan 16 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
Oct 12 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
德生PL330测评
2021/03/02 无线电
php中文本数据翻页(留言本翻页)
2006/10/09 PHP
基于mysql的论坛(3)
2006/10/09 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
PHP中16个高危函数整理
2019/09/19 PHP
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
基于jquery的$.ajax async使用
2011/10/19 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
JS高级运动实例分析
2016/12/20 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
2017/04/13 jQuery
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
原生js实现无缝轮播图效果
2021/01/28 Javascript
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
详解Python中的相对导入和绝对导入
2017/01/06 Python
python3.7 的新特性详解
2019/07/25 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
美国床垫和床上用品公司:Nest Bedding
2017/06/12 全球购物
行政专员工作职责
2013/12/22 职场文书
五好党支部事迹材料
2014/02/06 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL