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 相关文章推荐
动态添加js事件实现代码
Mar 12 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
Jun 11 Javascript
js字母大小写转换实现方法总结
Nov 13 Javascript
javascript向后台传送相同属性的参数即数组参数
Feb 17 Javascript
JS模拟并美化的表单控件完整实例
Aug 19 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
Augularjs-起步详解
Jul 08 Javascript
javascript 内置对象及常见API详细介绍
Nov 01 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
Vue watch响应数据实现方法解析
Jul 10 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 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
PHP设计模式之解释器模式的深入解析
2013/06/13 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
Yii2中多表关联查询hasOne hasMany的方法
2017/02/15 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
利用js对象弹出一个层
2008/03/26 Javascript
常用jQuery选择器总结
2014/07/11 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
Python简单连接MongoDB数据库的方法
2016/03/15 Python
python MysqlDb模块安装及其使用详解
2018/02/23 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
浅析Python面向对象编程
2020/07/10 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
特色冷饮店创业计划书
2014/01/28 职场文书
党的生日演讲稿
2014/09/10 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
2015年教师节感恩寄语
2015/03/23 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
pytorch训练神经网络爆内存的解决方案
2021/05/22 Python
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技