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

第一章作用域是什么

作者: 不系流年系乾坤 | 来源:发表于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 作用域嵌套

相关文章

  • JavaScript作用域与作用域链

    一. 作用域 JavaScript作用域是什么? 作用域指的就是变量存在的范围 我们的作用域又分成了全局作用域和...

  • 你不知道的JavaScript上卷之作用域与闭包·读书笔记

    date: 16.12.8 Thursday 第一章 作用域是什么 LHS:赋值操作的目标是谁?比如: RHS:谁...

  • 一周一章前端书·第2周:《你不知道的JavaScript(上)》

    第2章:词法作用域 第一章提到,所谓作用域就是JavaScript变量的存取规则。 而众多编程语言的作用域规则中,...

  • 你不知道的JavaScript上卷

    第一部分 作用域和闭包 第一章 作用域是什么 编译原理 尽管,通常将java script归为动态或解释执行员,但...

  • JavaScript 作用域链与闭包

    作用域链与闭包 了解作用域链之前需要先了解下作用域是什么。 作用域 几乎所有的语言都有作用域的概念。这是因为它们都...

  • JS三座大山之作用域和闭包(2)

    作用域 作用域是什么?其实作用域是针对变量的,一个变量在某个区域内起作用,这份区域就是他的作用域。顺便说一句,在 ...

  • 作用域链

    作用域链是什么? 如果要解释作用域链得先知道什么是作用域?什么是闭包? 什么是作用域 用域是一个函数在执行时期的执...

  • Html/CSS 作用域

    作用域是什么:有效的范围 1.ES5 中作用域 在ES5中只有函数有作用域,其他没有作用域的概念。所以当在使用的时...

  • 理解作用域链

    作用域是什么? 任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与...

  • 你不懂JS:作用域与闭包

    你不懂JS:作用域与闭包 第二章:词法作用域 在第一章中,我们将“作用域”定义为一组规则,它主宰着 引擎 如何通过...

网友评论

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

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