javascript中的方法重载

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

 

转载于:https://www.cnblogs.com/CodeFaker/p/4010287.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值