美文网首页
js中有两个相同的方法参数个数不相同加载时会先加载哪个

js中有两个相同的方法参数个数不相同加载时会先加载哪个

作者: 小沙盒工作室 | 来源:发表于2020-11-01 11:33 被阅读0次

    js调用函数时传入的参数个数与函数定义时的参数个数不符时的操作

    1.在js中函数没有重载的概念,如果声明了多个重名的函数,不管函数的形参个数是否一样,只有最有一个有效,其他的函数声明都是无效的。比如说声明了两个函数fn(),第一次声明时没有形参,第二次声明时形参有两个,则在调用fn()时不管有没有传入参数,都是调用后声明的那个函数。假如说调用时只传入了1个参数,例如fn(1),则1会赋给函数的第一个形参,而第二个形参不会赋值,如果有用到,就会当undefined处理,可能会报错。如果调用时传入了3个参数,例如fn(1,2,3),则1会赋给第一个形参,2会赋给第二个形参,3是用不上的,但是不会报错。

    <script type="application/javascript"> 
        function a(a,b){
            alert("2222222222222");
            }
        function a(a){
            
            alert("11111111111");
                }
    </script>
    

    js加载都是从前往后的,但是一样的函数名,前面的函数会被后面的覆盖掉,所以,调用函数a的时候,永远都是去执行第二个函数
    例子:

    script language="javascript"> 
        //第一个a函数
        function a(a){
            alert("2222222222222");
        }
        //第二个a函数
        function a(a,b){
            
            
            if(b== "points"){
                alert("13455781111111---"+a+"----"+b);
            }else {
                alert("11111111111---"+a);
            }
        }
    </script>
    
    
    <input type="button" value="test" οnclick="a(1)">  //执行第二个a函数
    <input type="button" value="test2" οnclick="a(1,'points')"> //执行第二个a函数
    

    相关文章

      网友评论

          本文标题:js中有两个相同的方法参数个数不相同加载时会先加载哪个

          本文链接:https://www.haomeiwen.com/subject/dfmyvktx.html