7.31 签到,js 全局预处理笔记

本文详细解析了JavaScript的执行过程,包括全局环境的预处理与执行阶段,以及函数调用时的Lexical Environment生成规则。重点阐述了变量声明、函数声明与函数表达式的处理顺序,以及函数参数和内部声明式函数的解析机制。

js 解析与执行过程:

      一、全局:

           1、预处理阶段 :    

                1、LexicalEnviroment === window {1、预处理 var   |   2、function xxx //预处理申明的函数}    // 注: 不预处理 函数表达式的方法 创建的 函数    : var g = function () ;
                2、ECMA - 262 VariableEnvironment

                

 

           2、执行阶段:

 

 

    console.log(a);                                    // 4、输入的是预处理阶段的 function a{return 6;}
    function a(){
     return  document.documentElement.OffsetWidth;     // 1、首先预处理function a()
    }
    function a(){
     return  6;                                        // 2、覆盖function a()
    }
     var a = 3;                                        // 3、var 申明变量优先级低于 function,所以无效
     a = 3;                                            // 4、表达式a = 3,是执行阶段,覆盖为a = 3;
    console.log(a);                                    // 5、输出顺序执行的 a = 3;

 

  

 

 

 

      二、函数:

          1、每调用一次,产生一个LexicalEnviroment

          2、先函数的参数

          3、内部申明式函数

          

  function test(a,b){
    // LexicalEnviroment{
    //   a = function a;
    //   b = 2;
    // }
    alert(a);
    alert(b);
    var b = 100;

  }
  function a(){};
  test(1,2);

 

转载于:https://www.cnblogs.com/Tachi/p/5724398.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值