JavaScript实现重载
ECMAScript中的函数不能重载.但可以用相同的名字在一个作用域中定义两个函数而不会引发错误,但真正使用的是最后一个函数.
function doAdd(iNum)
{
alert(iNum+100);
}
function doAdd(iNum)
{
alert(iNum+10);
}
doAdd(10); //output 20
{
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
{
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
作者:Cat Qi
出处:http://qixuejia.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://qixuejia.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。