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 相关文章推荐
javascript json 新手入门文档
Dec 03 Javascript
Javascript 实用小技巧
Apr 07 Javascript
ASP.NET jQuery 实例18 通过使用jQuery validation插件校验DropDownList
Feb 03 Javascript
jQuery移除元素自动解绑事件实现思路及代码
May 31 Javascript
js获取当前时间显示在页面上并每秒刷新
Dec 24 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
js编写一个简单的产品放大效果代码
Jun 27 Javascript
微信小程序开发实战教程之手势解锁
Nov 18 Javascript
vue双向数据绑定原理探究(附demo)
Jan 17 Javascript
React Native实现地址挑选器功能
Oct 24 Javascript
Jquery $.map使用方法实例详解
Sep 01 jQuery
antd配置config-overrides.js文件的操作
Oct 31 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实现原生态图片上传封装类方法
2016/11/08 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
分类解析jQuery选择器
2016/11/23 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
基于JSONP原理解析(推荐)
2017/12/04 Javascript
在vue-cli中组件通信的方法
2017/12/16 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python  Django 母版和继承解析
2019/08/09 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
Python 解析简单的XML数据
2020/07/24 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
学生自我鉴定范文
2013/10/04 职场文书
夜大毕业生自我评价分享
2013/11/10 职场文书
书香校园活动方案
2014/02/28 职场文书
元旦晚会主持词
2014/03/24 职场文书
作风转变心得体会
2014/09/02 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
小学生学习保证书
2015/02/26 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
法制工作总结2015
2015/07/23 职场文书
Python 制作自动化翻译工具
2021/04/25 Python
Matlab如何实现矩阵复制扩充
2021/06/02 Python
mysql 子查询的使用
2022/04/28 MySQL