zoukankan      html  css  js  c++  java
  • 7.31 签到,js 全局预处理笔记

    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);
  • 相关阅读:
    vue项目中关于axios的简单使用
    日常开发中的几个常用跨域处理方式
    duilib踩坑记录
    unicode utf8 学习记录
    __metaclass__ 实现单列模式
    深入理解Python中的元类(metaclass)
    python 获取本机 IP
    百度定位api 定位不准修正
    iptables
    timeshift 安装使用说明
  • 原文地址:https://www.cnblogs.com/Tachi/p/5724398.html
Copyright © 2011-2022 走看看