欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

javascript中的方法重载浅谈(代码)

程序员文章站 2022-05-28 15:52:58
javascript中的方法重载的疑惑?直接上代码,代码中有详细的注释和解释说明的文字! &...

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>  
    <p align="center" style="height: auto;">  
        <h2>javascript中的方法重载的疑惑?</h2>  
        <h3>js中没有重载的概念,所以你的同名方法永远都是最后一个方法覆盖掉前面的方法</h3>  
        <h2>有时间的话可以拓展一下知识,如下</h2>  
          
        <a href="https://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="https://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>  
    </p>  
</body>  
</html>