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 相关文章推荐
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
Mar 25 Javascript
js 取时间差去掉周六周日实现代码
Dec 25 Javascript
详解Angularjs filter过滤器
Feb 06 Javascript
JS原型对象的创建方法详解
Jun 16 Javascript
jQuery图片左右滚动代码 有左右按钮实例
Jun 20 Javascript
清除输入框内的空格
Dec 21 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
Mar 25 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
解决在Vue中使用axios用form表单出现的问题
Oct 30 Javascript
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
让你的网站首页自动选择语言转跳
2006/12/06 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
2011/12/06 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
jQuery实现“扫码阅读”功能
2015/01/21 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
nodejs基础之常用工具模块util用法分析
2018/12/26 NodeJs
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
2019/04/04 jQuery
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
Python全局变量操作详解
2015/04/14 Python
python八大排序算法速度实例对比
2017/12/06 Python
使用python为mysql实现restful接口
2018/01/05 Python
Python实现Kmeans聚类算法
2020/06/10 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python 命名规范知识点汇总
2020/02/14 Python
python批量修改xml属性的实现方式
2020/03/05 Python
基于python实现复制文件并重命名
2020/09/16 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
为什么会有内存对齐
2016/10/10 面试题
创立科技Java面试题
2015/11/29 面试题
laravel使用redis队列实例讲解
2021/03/23 PHP
市场营销毕业生自荐信
2013/11/23 职场文书
迟到检讨书900字
2014/01/14 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
《我的信念》教学反思
2014/02/15 职场文书