将函数名想象为指针,也有助于理解为什么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。
以上所述就是本文的全部内容了,希望大家能够喜欢。