js模拟实现重载以及默认参数

    众所周知,js是函数不支持重载和默认参数的,但是我们可以使用一些其他方法来模拟这个方法的实现。

    首先看一下重载的定义:函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同。

    以及默认参数的定义:默认参数指的是当函数调用中省略了实参时自动使用的一个值。

    那么如何实现这两个功能呢,一个很简单的方法就是使用arguments来进行模拟。

    下面先说实现重载的方法:

    

	function overLoad(){//用这样的方法模拟重载
		if(arguments[0]){//如果存在第一个参数
			if(arguments[1]){//如果第一个参数第二个参数都存在
				//to do...
				alert(arguments[0]+arguments[1]);
			}
			else{//如果只有第一个参数
				alert(arguments[0]);
				//to do...
			}
		}
		else{//如果无参
			alert("null");
			//to do...
		}
	}

    接下来是实现默认参数的方法:

function defaultArg(){//用这样的方法模拟默认参数
	var a = arguments[0]?arguments[0]:"hello";//第一个参数的默认值为hello
	var b = arguments[1]?arguments[1]:"world";//第二个参数的默认值为world
	//...
	alert(a+b);
}
    下面进行一下测试:
//重载测试
overLoad();//null
overLoad("hello ");//hello 
overLoad("hello ","world");//hello world
//默认参数测试
defaultArg();//hello world
defaultArg("你好 ");//你好 world
defaultArg("你好 ","世界");//你好 世界



  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值