函数 - 没有重载

ECMAScript函数不能像传统意义上那样实现重载。ECMAScript函数没有签名,因为其函数是包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。

  如果在ECMAScript中定义了两个名字相同的函数,则该名字只属于后定义的函数。请看下面的例子:

function addSomeNumber(num){
  return num+100;  
}
function addSomeNumber(num){
  return num+200;  
}
var result=addSomeNumber(100);//300

在此,函数addSomeNumber()被定义了两次。第一个版本给参数100,而第二个版本给参数加就是200。由于后定义的函数覆盖了先定义的函数,因此当在最后一行代码中调用这个函数的时,返回的结果就是300。

  如前所述,通过检查传人函数中参数的类型呵呵数量并作出不同的反应,可以模仿方法的重载。

posted @ 2015-06-01 13:46  一日三餐  阅读(122)  评论(0编辑  收藏  举报