美文网首页Vue前端
JS不知道的那些事

JS不知道的那些事

作者: 打酱油12138 | 来源:发表于2019-04-12 10:41 被阅读9次

    编译语言源码执行之前三个步骤

    • 分词/词法分析(拆分成词法单元)
    • 解析/词法解析(逐级潜逃生成“抽象语法树”)
    • 代码生成(将AST转化为机器指令用于执行)
      JS编译发生在执行前的几微秒

    JS角色

    • 引擎

    从头到尾负责整个 JavaScript 程序的编译及执行过程。

    • 编译器

    引擎的好朋友之一,负责语法分析及代码生成等脏活累活。

    • 作用域

    引擎的另一位好朋友,负责收集并维护由所有声明的标识符(变量)组成的一系列查 询,并实施一套非常严格的规则,确定当前执行的代码对这些标识符的访问权限。

    编译器查询

    • LHS引用查询(赋值操作的目标是谁)
    • RHS查询(谁是赋值操作的源头)
    function foo(a)  {
      // RHS
      console.log( a ); 
    } 
    // foo(..)调用进行RHS引用,去找foo的值
    foo( 2 );
    // a = 2 隐式操作,进行了一次LHS查询
    // 查找console时进行了RHS,将2赋值给a时进行LHS引用查询
    

    相关文章

      网友评论

        本文标题:JS不知道的那些事

        本文链接:https://www.haomeiwen.com/subject/hktlvqtx.html