JavScriptプリコンパイル-変数のアップグレードと関数のアップグレード

1215 ワード





    
    
    
    Document



    
        function fn(a) {
            console.log(a);

            var a = 123;

            console.log(a);

            function a () {}

            console.log(a);

            var b = function () {}

            console.log(b);

            function d () {}
        }

        fn(1);

        /*
        AO (Activate Object)  
        AO{
            step1:          step2:               step3:               steps4(  ):
            a : undefined,  a : 1,               a : function () {}   function () {}
            b : undefined   b : undefined        b : undefined         123
                                                 d : function d () {}  123
                                                                      function () {}
            
        }

              :
            1.  AO  
            2.        ,         AO   ,  undefined
            3.         
            4.           ,      
        */