牛客图书馆 > 读书笔记
  • 我们仍未知道那天所看见的JavaScript的秘密——作用域

    在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编译”。 分词/词法分析(Tokenizing/Lexing)这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元(token)。例如,考虑...
    国服倒一CRUD 编辑于 2019-11-13 13:07:38
  • 我们仍未知道那天所看见的JavaScript的秘密——提升

    我们习惯将 var a = 2;看作一个声明,而实际上 JavaScript 引擎并不这么认为。它将 var a 和 a = 2 当作两个单独的声明,第一个是编译阶段的任务,而第二个则是执行阶段的任务。这意味着无论作用域中的声明出现在什么地方,都将在代码本身被...
    国服倒一CRUD 编辑于 2019-11-13 17:34:08
  • 我们仍未知道那天所看见的JavaScript的秘密——引擎如何查找变量

    编译器在编译过程的第二步中生成了代码,引擎执行它时,会通过查找变量 a 来判断它是否已声明过。查找的过程由作用域进行协助,但是引擎执行怎样的查找,会影响最终的查找结果。 引擎查找变量的方式分两种: LHS:查找变量的引用,需要赋值的时候才使用 RHS:查找变...
    国服倒一CRUD 编辑于 2019-11-13 15:02:34
  • 我们仍未知道那天所看见的JavaScript的秘密——闭包

    一、先理解什么是词法作用域。词法作用域:词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的 包含着整个全局作用域,其中只有一个标识符:foo。 包含着 foo 所创建的作用域,其中有三个标识符:a、bar 和 b。 包含着 bar 所创建的作用域,...
    国服倒一CRUD 编辑于 2019-11-13 18:59:25