程序员人生 网站导航

JavaScript如何实现重载?

栏目:jscript时间:2013-12-24 00:17:15

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
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐