美文网首页
JavaScript学习笔记 - 函数

JavaScript学习笔记 - 函数

作者: 梦元_38ab | 来源:发表于2018-10-28 07:12 被阅读0次

    3. 函数

    3.1 函数的形参和实参

    • 形参修改时,并不会影响到实参
    • 函数调用时,输入参数的个数可以多于函数定义的参数个数
    • 函数内部隐藏的对象, 由数组 arguments 保存函数实参的信息
            <script type="text/javascript">
                var a = 10;
                var b = 20;
                
                // 求和函数
                // num1和num2形参
                function sum(num1,num2){
                    // 形参修改时,并不会影响到实参
                    num1 = 13;
                }
                
                // a和b实参
                sum(a,b);
                
                // alert(a);
                
                
                // 3个参数
                // arguments: 函数内部隐藏的对象,保存实参的信息
                function test(num1,num2,num3){
                    // alert(num1+num2+num3);
                    
                    // alert(arguments[3]);
                    // alert(arguments.length);
                }
                
                // test(10,20,30);
                test(10,20,30,40);
            </script> 
    

    3.2 函数的作用域

    预解析

    • 所有变量,在代码真正运行前,都非赋值为定义的值;
    • 所有的函数,在真正运行前,都是整个函数块;
    • 遇到重名: 只留下一个; 变量和函数重名,只留下函数

    逐行解析

    • 表达式: = + -

    备注:

    • 函数也是一个作用域
    • 函数中,局部优先
    <script type="text/javascript">
        var a = 1;
        function fn1(){
            alert(a);   // 1
            a = 2;
        }
        fn1();
        alert(a); // 2
    </script>
    
    <script type="text/javascript">
        var a = 1;
        function fn1(){
            alert(a);   // undefined
            var a = 2;
        }
        fn1();
        alert(a);       // 1
    </script>
    
    <script type="text/javascript">
        var a = 1;
        function fn1(a){
            alert(a);   // undefined
            a = 2;
         }
         fn1();
         alert(a);  // 1
    </script>
    
    <script type="text/javascript">
        alert(a); // 输出: function(){ alert("2----函数a");  }
        var a = 1;
        function a(){
            alert("1----函数a");
        }
        alert(a); // 输出 1
        var a = 3;
        alert(a); // 输出 3
        function a(){
            alert("2----函数a");
        }
        alert(a); // 输出 3
    </script>
    

    相关文章

      网友评论

          本文标题:JavaScript学习笔记 - 函数

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