• js预编译


    js函数预编译

    创建AO 第一步,寻找参数变量住。

    提升变量未定义,参数赋值相统一。

    声明函数最后找,赋值函数身体到。

    已经提升不用看,变量赋值最果断。

    创建AO 第一步,寻找参数变量住。

    js函数预编译

    第一步创建 AO对象

    AO{

    }

    第二部寻找变量声明以及形参

    提升变量未定义,参数赋值相统一。

    将他们放入 AO对象中 并且值为undefined

    然后将形参实参相统一

    声明函数最后找,赋值函数身体到。

    最后一步是 寻找函数声明 并赋值

    已经提升不用看,变量赋值最果断。

    然后在函数执行的时候 已经提升到 AO的部分就忽略不看

     <script>

        /*

        第一步创建 AO 对象

        *AO{

            第二部 寻找变量声明

            a:undefined,

            b:undefined,

            第三步 实参形参相统一

            a:1,

            b:3,

            第四部提升函数

            a:function a() {},

            b:3,

        }

        */

        function prepar(a, b) {

            console.log(b); // -------> 3

            var a = 4; //运行到这儿 a = 4

            var b = 5; //运行到这儿 b = 5

            console.log(a); //-------------->4

            function a() {

            }

            var b = function b() {

                    //注意这是函数表达式 不是声明所以

                    //不会提升函数 只会提升前边的变量声明

                }

                //运行到这儿 b = function b() {}

            console.log(b);//-------------->function b() {}

        }

        prepar(1, 3);

    </script>

  • 相关阅读:
    shell 命令参数
    Windows系统配置Python环境,python2和python3共存
    jmeter面试题及答案
    接口测试
    python语法基础
    pycharm环境安装及注册
    Win10下python 2.7与python 3.6双环境安装图文教程
    eclipse中导入maven项目时pom文件报错
    ssm-crud项目--总结
    ssm-crud项目——分页查询
  • 原文地址:https://www.cnblogs.com/weixin2623670713/p/13616494.html
Copyright © 2020-2023  润新知