zoukankan      html  css  js  c++  java
  • 函数预编译,执行步骤

    1、先创建一个AO对象;

    2、将形参和变量变为AO对象里的属性,值为undefined;

    3、实参赋值形参;

    4、在函数体内找函数声明,值赋予函数体;

    实例1:

    // 1.创建AO对象;
            //     AO{}
            // 2.形参,变量变为AO对象的属性,值为undefined
            //     AO{
            //         foo:undefined
            //       }
            // 3.3.实参赋值形参(因为没有实参,foo还是undefined);
            //     AO{
            //         foo:undefined
            //        }
            // 4.函数体内找函数声明,值赋予函数体;
            //     AO{
            //         foo:foo(){ }
            //     }
            // 直接返回foo的值foo(){ }
                function bar (){
                    return foo; 
                    foo = 10;
                    function foo(){
                        
                    }
                    var foo = 11 
                }
                console.log(bar())

    实例2:

    // 1.创建AO对象;
            //     AO{}
            // 2.形参,变量变为AO对象的属性,值为undefined
            //     AO{
            //         foo:undefined
            //       }
            // 3.实参赋值形参(因为没有实参,foo还是undefined);
            //     AO{
            //         foo:undefined
            //        }
            // 4.函数体内找函数声明,值赋予函数体;
            //     AO{
            //         foo:foo(){ }
            //     }
            // 5.此时函数预编译结束,属性foo的值还是foo(){ };
            // 6.函数开始执行,执行到foo = 10时,foo属性值为10
            // 7.function foo () { }已经被编译过了,继续往下执行
            // 8.var foo = 11 ,将foo属性值10变为11;
            // 9.当return时候,返回的是11
            function bar(){
                foo = 10 ;
                function foo (){
                    
                }
                // var foo = 11 ;
                return foo
            }
            console.log(bar());    
  • 相关阅读:
    java-抽象类
    java-接口
    java-面向对象总结
    java-单例设计模式
    java数组
    .Net框架整理
    PHP结合memcacheq消息队列解决并发问题
    浅谈DDos攻击
    PHP+ffmpeg+nginx的配置实现视频转码(转)
    使用Nginx的X-Accel-Redirect实现大文件下载
  • 原文地址:https://www.cnblogs.com/chaojimali/p/12769421.html
Copyright © 2011-2022 走看看