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

 更新时间:2014年10月08日 16:43:53   投稿:whsnow  
面向对象的高级语言中,都有方法的重载,在js中可以通过arguments这个参数来伪装成函数重载,具体如下

在很多面向对象的高级语言中,都有方法的重载。而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("小明", "小花");

相关文章

  • 关于js中for in的缺陷浅析

    关于js中for in的缺陷浅析

    这篇文章主要介绍了js中for in的缺陷,有需要的朋友可以参考一下
    2013-12-12
  • javascript实现的网站访问量统计代码

    javascript实现的网站访问量统计代码

    本文文章通过两段代码实例给大家介绍了基于javascript实现网站访问量统计代码,对js实现网站访问量统计相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • 微信小程序之判断页面滚动方向的示例代码

    微信小程序之判断页面滚动方向的示例代码

    这篇文章主要介绍了微信小程序之判断页面滚动方向的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • JS防抖节流函数的实现与使用场景

    JS防抖节流函数的实现与使用场景

    在行走江湖的过程中,会出现很多性能优化的问题来让你手足无措,那么这篇文章主要给大家介绍了关于JS防抖节流函数的实现与使用场景,针对这两个问题来为你答疑解惑,需要的朋友可以参考下
    2021-07-07
  • UniApp使用vue.config.js进行配置的详细教程

    UniApp使用vue.config.js进行配置的详细教程

    这篇文章主要给大家介绍了关于UniApp使用vue.config.js进行配置的详细教程,uniapp是一套基于Vue语法的框架,同样也支持Vue.config.js配置,一般常用的莫过于路径的名称,需要的朋友可以参考下
    2023-10-10
  • JS中的算法与数据结构之链表(Linked-list)实例详解

    JS中的算法与数据结构之链表(Linked-list)实例详解

    这篇文章主要介绍了JS中的算法与数据结构之链表(Linked-list),结合实例形式详细分析了javascript中链表的概念、原理、定义及常用操作技巧,需要的朋友可以参考下
    2019-08-08
  • JS文件上传神器bootstrap fileinput详解

    JS文件上传神器bootstrap fileinput详解

    这篇文章主要介绍了JS文件上传神器Bootstrap FileInput,样式非常美观,并且支持上传文件预览,ajax同步或异步上传,拖曳文件上传等炫酷的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • js中onclick和addEventListener的区别详解

    js中onclick和addEventListener的区别详解

    这篇文章深入探讨了JavaScript中处理事件的两种不同方法,即熟悉的onclick和多功能的addEventListener方法,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • JS生成登录验证码的实现示例

    JS生成登录验证码的实现示例

    本文主要介绍了JS生成登录验证码的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-12-12
  • 微信小程序防止重复点击按钮的示例代码

    微信小程序防止重复点击按钮的示例代码

    这篇文章主要介绍了微信小程序防止重复点击按钮的示例代码,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10

最新评论