1.js中不存在重载,如果出现多个重名函数,根据加载顺序,会调用最后一个函数。
2.但是可以通过其他方式模拟实现重载(通过arguments数组实现)
<html>
<head>
<title>html示例</title>
</head>
<body>
</body>
<script type="text/javascript">
//编写三个重名函数
function add1(a,b){
return a+b;
}
function add1(a,b,c){
return a+b+c;
}
function add1(a,b,c,d){
return a+b+c+d;
}
//分别调用这三个同名函数,由于js中没有函数的重载,最后加载到的是含有四个参数的函数,所以只有最后一个函数才会有输出结果
alert(add1(1,2));
alert(add1(1,2,3));
alert(add1(1,2,3,4));
//使用arguments数组模拟实现重载
function add2(){
if(arguments.length==2){
return arguments[0]+arguments[1];
}else if(arguments.length==3){
return arguments[0]+arguments[1]+arguments[2];
}else if(arguments.length==4){
return arguments[0]+arguments[1]+arguments[2]+arguments[3];
}
}
alert(add2(1,12,12,12));
</script>
</html>