javascript中通过arguments参数伪装方法重载


Posted in Javascript onOctober 08, 2014

在很多面向对象的高级语言中,都有方法的重载。而javascript没有方法重载这个概念。但是我们可以通过arguments这个参数来伪装成函数的重载

在模拟之前我们先看一下代码:

//表面上没有声明形式参数的函数

function fun() { 

alert("示例代码");

}

fun("小明", 100, true);//自己写了三个实际参数

通过结果我们看到,即使我们声明函数的时候没有定义形式参数,在调用方法的时候,我们也是可以写实际参数的。(实际上形式参数是写给程序员调用函数时看的)

我们可以在代码中可以得到实际参数吗?答案是肯定的:请看代码:

//表面上没有声明形式参数的函数

function fun() {

alert(arguments[0]);//得到第一个实际参数的值。

alert(arguments[1]);//得到第二个实际参数的值。

alert(arguments[2]);//得到第三个实际参数的值。

alert(arguments.length);//得到实际参数的个数。

alert("示例代码");

}

fun("小明", 100, true);//自己写了三个实际参数

通过代码我们就可以知道arguments(内部属性) 本身是一个数组,其作用就是存放方法的实际参数。

有了以上知识点后,模拟方法重载就有思路了。我们可以通过实际参数的个数来作个判断,从而执行不同的逻辑代码。简单代码如下:

function fun() {

if (arguments.length == 0) {

alert("执行没有实际参数的代码");

}

else if(arguments.length==1)

{

alert("执行传入一个实际参数的代码");

}

else if(arguments.length==2)

{

alert("执行传入两个实际参数的代码");

}

}

fun();

fun("小明");

fun("小明", "小花");
Javascript 相关文章推荐
Javascript中的window.event.keyCode使用介绍
Apr 26 Javascript
Jquery响应回车键直接提交表单操作代码
Jul 25 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 Javascript
jQuery实现微信长按识别二维码功能
Aug 26 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
javascript中的面向对象
Mar 30 Javascript
表格展示利器 Bootstrap Table实例代码
Sep 06 Javascript
微信小程序 上传头像的实例详解
Oct 27 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
Sep 30 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
Oct 28 Javascript
利用原生JavaScript获取元素样式只是获取而已
Oct 08 #Javascript
javascript学习笔记(八)正则表达式
Oct 08 #Javascript
javascript学习笔记(七)Ajax和Http状态码
Oct 08 #Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 #Javascript
javascript学习笔记(五)原型和原型链详解
Oct 08 #Javascript
JavaScript中获取高度和宽度函数总结
Oct 08 #Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
Oct 08 #Javascript
You might like
php下通过POST还是GET来传值
2008/06/05 PHP
PHP中改变图片的尺寸大小的代码
2011/07/17 PHP
php中curl使用指南
2015/02/05 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
浅谈php处理后端&接口访问超时的解决方法
2016/10/29 PHP
使用PHP开发留言板功能
2019/11/19 PHP
javascript+xml技术实现分页浏览
2008/07/27 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
简述vue中的config配置
2018/01/23 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
记录Django开发心得
2014/07/16 Python
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
python 将list转成字符串,中间用符号分隔的方法
2018/10/23 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
python 整数越界问题详解
2019/06/27 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
计算机专业职业生涯规划范文
2014/01/19 职场文书
高中生物教学反思
2014/02/05 职场文书
《最可爱的人》教学反思
2014/02/14 职场文书
教师求职信范文
2014/05/24 职场文书
人事任命书范文
2014/06/04 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
出国留学英文自荐信
2015/03/25 职场文书
2015年招生工作总结
2015/05/04 职场文书
房屋维修申请报告
2015/05/18 职场文书
入团介绍人意见范文
2015/06/04 职场文书
靠谱的活动总结
2019/04/16 职场文书