日期:2014-05-16 浏览次数:20354 次
大家知道,在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];