日期:2014-05-16  浏览次数:20354 次

Javascript中实现方法重载

大家知道,在JS中没有方法重载这个功能。那么如何实现方法重载呢?

在JS中有一个arguments对象。他是一个数组,包含了访问参数的集合。看代码:

function add(){
var length = arguments.length;
var result;
if(length==1){
  result = arguments[0];
}else if(length==2){
  result = parseInt(argument[0])+parseInt(arguments[1]);
}
}
add(2); add(2,3);

?上述代码定义了一个add()方法,但是并没有声明参数。调用add的时候,参数会被保存到arguments数组当中。通过数组的长度,就可以决定调用不同的代码块,实际上是间接的实现了方法的重载。

arguments在js中很常见,在DOM标准的浏览其中,我们要得到事件对象,一般都用arguments[0];