通过实例理解javascript中没有函数重载的概念

将函数名想象为指针,也有助于理解为什么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。

以上所述就是本文的全部内容了,希望大家能够喜欢。