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("小明", "小花");

相关文章

  • 微信小程序实现左滑修改、删除功能

    微信小程序实现左滑修改、删除功能

    这篇文章主要为大家详细介绍了微信小程序实现左滑修改、删除功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Bootstrap table的使用方法

    Bootstrap table的使用方法

    这篇文章主要为大家详细解析了JS组件Bootstrap Table使用方法,具有一定的实用性和参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • JS获取当前日期时间并定时刷新示例

    JS获取当前日期时间并定时刷新示例

    这篇文章主要介绍了JS如何获取当前日期时间并执行定时刷新,示例代码如下,需要的朋友不要错过
    2014-06-06
  • flash调用js中的方法,让js传递变量给flash的办法及思路

    flash调用js中的方法,让js传递变量给flash的办法及思路

    前几天发表了 将FlashVars写在JS函数中,实现与后台的实时变量更新,但是仅支持 IE,随后与 Luckyer 进行了交流,发现用 SetVariable 可以很方便的实现多浏览器兼容。举例如下。
    2013-08-08
  • Bootstrap3 Grid system原理及应用详解

    Bootstrap3 Grid system原理及应用详解

    这篇文章主要为大家详细介绍了Bootstrap3 Grid system原理及应用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 详解JS数组Reduce()方法详解及高级技巧

    详解JS数组Reduce()方法详解及高级技巧

    reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素。接下来通过本文给大家分享JS数组Reduce()方法详解及高级技巧,一起看看吧
    2017-08-08
  • JS 自定义函数缺省值的设置方法

    JS 自定义函数缺省值的设置方法

    有时候定义的函数需要设置默认值,因为不带就会出现一些错误,大家可以参考下这里默认值的定义方法。
    2010-05-05
  • 详解JS实现简单的时分秒倒计时代码

    详解JS实现简单的时分秒倒计时代码

    这篇文章主要介绍了JS时分秒倒计时的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • js日期插件dateHelp获取本月、三个月、今年的日期

    js日期插件dateHelp获取本月、三个月、今年的日期

    这篇文章主要为大家详细介绍了js日期插件dateHelp获取本月、三个月、今年的日期,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • javascript跨域的方法汇总

    javascript跨域的方法汇总

    JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。这里把涉及到跨域的一些问题简单地整理一下
    2015-10-10

最新评论