javascript中的方法重载的疑惑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/czh500/article/details/84945865

javascript中的方法重载的疑惑

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>javascript中的方法重载的疑惑?</title>
<link rel="stylesheet" type="text/css" href="body.css">
<link rel="stylesheet" type="text/css" href="input2.css">
<link rel="stylesheet" type="text/css" href="mark.css">

<script type="text/javascript">
/*
	经过测试发现,javascript中的方法重载,和方法的顺序位置有关,重载的方法以最后一个位置的方法为准,也就是说重载的方法,最
	后面的方法会把前面的方法覆盖掉
	js中没有重载的概念,所以你的同名方法永远都是最后一个方法覆盖掉前面的方法,就如下代码一样:
	var a = 1;
	var a = 2;
	var a = 3;
	alert("a=" + a);
 */
	function hello() {
		alert("我是无参数的hello()函数!");
	}

	function hello(userName) {
		alert("我是带1个参数的hello(userName)函数!" + " - " + userName);
	}
	
	function hello(userName, age) {
		alert("我是带2个参数的hello(userName, age)函数!" + " - " + userName + " - " + age);
	}
	
	//js没有重载,因此需要做判断。
	function hello(userName,age){
        if(arguments.length==2){
  			alert("我是带2个参数的hello(userName, age)函数!" + " - " + userName + " - " + age);
        }else if(arguments.length==1){
            alert("我是带1个参数的hello(userName)函数!" + " - " + userName);
        }else if(arguments.length==0){
            alert("我是无参数的hello()函数!");
        }
	}
	
	var age = 16;
	var age = 22;
	var age = 9;
	alert("age=" + age);
	
	function test(){
		//局部变量和全局变量同名
		var age = 25;
		alert("age=" + age);
	}
	
	//调用test()函数
	test();
	
</script>
</head>
<body>
	<div align="center" style="height: auto;">
		<h2>javascript中的方法重载的疑惑?</h2>
		<h3>js中没有重载的概念,所以你的同名方法永远都是最后一个方法覆盖掉前面的方法</h3>
		<h2>有时间的话可以拓展一下知识,如下</h2>
		
		<a href="http://blog.csdn.net/fogcrane/article/details/54094941" target="_blank">
		JavaScript的函数支持重载吗?
		</a><br><br>
		
		<a href="https://www.cnblogs.com/yugege/p/5539020.html" target="_blank">
		浅谈JavaScript函数重载
		</a><br><br>
		
		<a href="http://www.jb51.net/article/62310.htm" target="_blank">
		JavaScript中的方法重载实例
		</a><br><br>
		
		
		<input type="button" value="js方法重载(1个参数)" onclick="hello('令狐冲')">
		<input type="button" value="js方法重载(2个参数)" onclick="hello('韦小宝', 16)">
		<input type="button" value="js方法重载(无参数)" onclick="hello()">
		<br><br>
	</div>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/czh500/article/details/84945865