美文网首页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