JavaScript如何实现重载?
来源:程序员人生 发布时间:2013-12-24 00:17:15 阅读次数:3335次
ECMAScript中的函数不能重载.但可以用相同的名字在一个作用域中定义两个函数而不会引发错误,但真正使用的是最后一个函数.
function doAdd(iNum)
{
alert(iNum+100);
}
function doAdd(iNum)
{
alert(iNum+10);
}
doAdd(10); //output 20
该段代码显示20,因为第二个函数的定义覆盖了第一个定义.但是我们可以使用arguments对象避开这种限制.
代码:
function doAdd()
{
if(arguments.length==1)
{
alert(arguments[0]+10);
}else if(arguments.length==2)
{
alert(arguments[0]+arguments[1]);
}
}
doAdd(10); //output 20
doAdd(30,20); //output 50