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 相关文章推荐
动态加载dtree.js树treeview(示例代码)
Dec 17 Javascript
鼠标滑过出现预览的大图提示效果
Feb 26 Javascript
javascript表单验证和Window详解
Dec 11 Javascript
jQuery插件实现控制网页元素动态居中显示
Mar 24 Javascript
javascript中的五种基本数据类型
Aug 26 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
Dec 13 Javascript
基于javascript实现最简单选项卡切换
Feb 01 Javascript
在百度搜索结果中去除掉一些网站的资料(通过js控制不让显示)
May 02 Javascript
Angularjs中数据绑定的实例详解
Aug 25 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
Jun 01 Javascript
JS继承实现方法及优缺点详解
Sep 02 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正则走开
2008/03/15 PHP
PHP中usort在值相同时改变原始位置问题的解决方法
2011/11/27 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
php生成动态验证码gif图片
2015/10/19 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
JS 实现图片直接下载示例代码
2013/07/22 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
python 截取 取出一部分的字符串方法
2017/03/01 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
英语专业学生个人求职信
2014/01/28 职场文书
人力资源经理的岗位职责
2014/03/02 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
团党委领导干部党的群众路线教育实践活动个人对照检查材料思想汇
2014/10/05 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
学校捐书倡议书
2015/04/27 职场文书
告知书格式
2015/07/01 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS