2.函数预处理与执行

函数预处理阶段步骤:

    每调用一次,产生一个LexicalEnvironment
    先函数的参数
    内部声明式函数
    内部var变量
    冲突情况与全局处理一样

        function fuc(a,b){
          console.log(a);//Output ƒ a(){console.log("aaa");}
          console.log(b);//2
          function a(){
            console.log("aaa");
          }
          var b=3;
        }
        fuc(1,2);

函数执行阶段步骤:

    给预处理阶段的成员赋值
    如果没有用var声明的变量,会成为最外部LexicalEnvironment的成员(设置全局变量)

        function a(){
          b="Hello World B";//在执行时b为全局变量
          var c="Hello World C";//c为局部变量
        }
        a();
        console.log(b);//Output Hello World B
        console.log(c);//报错!!! c is not defined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值