JS编译原理 --《你不知道的JS》

1.编译原理

    1.分词/词法分析

      些代码块被称为词元(token)。例如,var a = 2;段程序通常会被分解成下面元:vara=2 ;

    2.解析/语法分析

      程是将元流(数转换成一个由元素逐嵌套所成的代表了程序被称抽象Abstract Syntax TreeAST    

<script>
         variabledeclaration

    identifier = a      assignmentExpession
         
                                        numricliteral  =2
</script>

    3.代码生成

      AST转换为行代程称被称生成 。

3.编译原理的重要角色

  引擎
    从到尾负责整个JavaScript程序的编译程。
  编译
    引擎的好朋友之一,负责语法分析及代生成等活累活
  作用域
    引擎的一位好朋友,负责收集并维护由所有声明的标识符(量)成的一系列查询,并施一套非常格的规则,确定当前行的代码对这标识符的访问权

4.RHS和LHS查询

  如果找的目的是对变赋值,那么就会使用LHS查询;如果目的是量的,就会使用RHS查询

5.错误类型

  ReferenceError同作用域判相关,而TypeError代表作用域判成功了,但是对结果的操作是非法或不合理的。

 

posted @ 2017-10-18 19:58  im.lhc  阅读(3454)  评论(0)    收藏  举报