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 相关文章推荐
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
Apr 12 Javascript
js 数组实现一个类似ruby的迭代器
Oct 27 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
JS的get和set使用示例
Feb 20 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
AngularJS基础 ng-readonly 指令简单示例
Aug 02 Javascript
详解Bootstrap的iCheck插件checkbox和radio
Aug 24 Javascript
Javascript实现从小到大的数组转换成二叉搜索树
Jun 13 Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 Javascript
微信小程序进入广告实现代码实例
Sep 19 Javascript
详解Vscode中使用Eslint终极配置大全
Nov 08 Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 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中最简单的字符串匹配算法
2014/12/16 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
2018/10/16 PHP
List Installed Software Features
2007/06/11 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
js文件包含的几种方式介绍
2014/09/28 Javascript
nodejs教程之入门
2014/11/21 NodeJs
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
JS制作手机端自适应缩放显示
2015/06/11 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
js实现二级导航功能
2017/03/03 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
原生JS实现留言板
2020/03/26 Javascript
使用Mock.js生成前端测试数据
2020/12/13 Javascript
[38:42]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第二场 11.05
2020/11/05 DOTA
python实现猜单词小游戏
2020/05/22 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
python脚本和网页有何区别
2020/07/02 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
SQL面试题
2013/12/09 面试题
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
纺织工程专业推荐信
2014/09/08 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
MySQL 表空间碎片的概念及相关问题解决
2021/05/07 MySQL
浅谈MySQL中的六种日志
2022/03/23 MySQL