YOU DON'T KNOW JS 笔记 1

第一章 作用域是什么

程序中的源代码在执行前经过三个步骤 统称为 编译

  • 词法分析
    将字符串分解为词法单元
  • 语法分析
    将词法单元流转换成一个抽象语法树
  • 代码生成
    将抽象语法树转换成可执行代码

当变量出现在复制操作的左侧时进行LHS查询 出现在非左侧时进行RHS查询

引擎从当前的执行作用域开始查找变量 如果找不到 就向上一级继续查找 当抵达最外层的作用域时 无论找没找到 都停止查找过程

RHS 查询在所有嵌套的作用域中遍寻不到所需的变量 引擎会抛出ReferenceError异常 LHS查询如果在全局作用域也无法找到目标变量 就会再全局作用域中创建一个具有该名称的变量 并返回给引擎(非严格模式)

你可能感兴趣的:(YOU DON'T KNOW JS 笔记 1)