將函數名想象為指針,也有助於理解為什麼ECMAScript中沒有函數重載的概念。如下例子:
復制代碼 代碼如下:
function addSomeNum(num)
{
return num+100;
}
function addSomeNum(num)
{
return num+200;
}
var result=addSomeNum(100);//300
顯然,這個例子中聲明了兩個同名函數,而結果則是後面的函數覆蓋了前面的函數。以上代碼實際上與下面的代碼是一致的。
復制代碼 代碼如下:
var addSomeNum=function(num)
{
return num+100;
};
var addSomeNum=function(num)
{
return num+200;
};
var result=addSomeNum(100);//300
通過觀察重寫之後的代碼,很容易看清楚到底是怎麼回事兒。在創建第二個函數時,實際上覆蓋了引用第一個函數的變量addSomeNum。
以上所述就是本文的全部內容了,希望大家能夠喜歡。