美文网首页
第一章作用域是什么

第一章作用域是什么

作者: 不系流年系乾坤 | 来源:发表于2016-10-23 00:28 被阅读21次

    1.1 编译原理

    编译语言

    • 分词/词法分析

    • 解析/语法分析

    • 代码生成

    对于Javascript来说,大部分情况发生在代码前的几微秒(甚至更短!)的时间内。在我们所要讨论的作用域背后,Javascript引擎用尽了各种办法(比如JIT,可以延迟编译甚至重编译)来保证性能最佳

    1.2理解作用域

    1.2.1 演员表

    • 引擎
    • 编译器
    • 作用域

    1.2.2 对话

    变量的赋值操作会执行两个动作,首先编译器会在当前作用域中声明一个变量(如果之前没有声明过),然后在运行时引擎会在作用域中查找该变量,如果能够找到就会对它赋值

    1.2.3 编译器有话说

    赋值操作的目标是谁(LHS)

    谁赋值操作的源头(RHS)

    a = 2 是LHS引用

    console.log(a); 是RHS引用

    1.2.4 引擎和作用域的对话

    1.2.5 小测验

    检验一下到目前的理解程度。 把自己当作引擎, 并同作用域进行一次“ 对话” :

    function foo(a) {
      var b = a;
      return a + b;
    }
    var c = foo( 2 );
    
    1. 找到其中所有的 LHS 查询。( 这里有 3 处! )

      c = ..;、 a = 2( 隐式变量分配)、 b = ..

    2. 找到其中所有的 RHS 查询。( 这里有 4 处! )

      foo(2..、 = a;、 a ..、 .. b

    1.3 作用域嵌套

    相关文章

      网友评论

          本文标题:第一章作用域是什么

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