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());    
  • 相关阅读:
    Linux之iptables 防火墙学习
    CentOS下安装JDK7
    分布式日志系统Scribe安装
    Python解析XML
    Python目录操作
    iphone开发-绘图集合 HA
    Mac技巧之显示/隐藏苹果MacOSX系统下隐藏文件的终端命令 HA
    xcode技巧宏定义 HA
    Registering Custom URL Schemes and Handling URL Requests HA
    block about basic HA
  • 原文地址:https://www.cnblogs.com/chaojimali/p/12769421.html
Copyright © 2011-2022 走看看