JavaScript如何實現重載?
來源:程序員人生 發布時間:2013-12-24 00:17:15 閱讀次數:3515次
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