js的函数重载

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>

猜你喜欢

转载自blog.csdn.net/ll123c/article/details/88862978
今日推荐