作用域
一门语言需要一套设计良好的规则来存储变量,并且之后可以方便的找到这些变量,这逃规则被称为作用域。
这也意味着当我们访问一个变量的时候,决定这个变量能否访问到的依据就是这个作用域。
词法作用域
作用域共有两种主要的工作模型,第一种是最为普通的,被大多数编程语言(包括javascript)采用的词法作用域
,另一种叫做动态作用域
。而我们平时所提及的作用域,就是这里所说的词法作用域
。
要了解词法作用域,必须要了解javascript引擎以及编译器的大概工作方式。一般程序中的源码在执行前会进行编译三步骤。
- 分词/语法分析
- 解析/语法分析
- 代码生成
而在分词/词法分析这个步骤,就已经确定了词法作用域。也就说作用域在我们书写代码的时候就已经确定了,引用书中的文字
阅读全文…