日期:2014-05-16 浏览次数:20561 次
?
最近开发的时候发现一个小问题:函数重载。
?
function a(url){
//参数不设置target,只在当前窗口操作
}
function a(url,target){
//参数增加一个target,在指定的target打开url
}
?关于重载:在同一访问区内被声明的几个具有不同参数列的(参数的类型、个数、顺序不同)同名函数,程序解析的时候会根据不同的参数列来确定具体调用哪个函数。
?
??找了一个解决方案:
function a(){
//根据参数的个数
var length = arguments.length;
if(length ==1){
var url =arguments[0];
a1(url );
}else{
var url =arguments[0];
var target=arguments[1];
a2(url,target);
}
}
function a1(url){
}
function a2(url,target){
}
?这样的话还是能实现方法名重复,但是对应参数不一样执行不一样的操作