JavaScript作用域新总结

作用域是什么


当我们将变量引入程序后,这些变量住在哪里,当程序需要的时候如何找到他们?这些问题都需要一个规则来存储变量,并且之后可以方便的找到这些变量,这套规则就被称为 **作用域 **。(管理变量的规则)

  • JavaScript的编译原理
  1. JavaScript语言类型:编译型语言、解释型语言
  2. 编译
    在传统的编译言语的流程中,程序中的一段源代码在执行前会经历三个步骤:
    (词法解析——语法分析——代码生成)
    而JavaScript在这些过程中显得比较复杂,那就是还有很多的性能优化问题,比如他的引擎JIT,可以延迟编译甚至实施重编译,来保证性能最佳。
  3. JavaScript的编译总是发生在代码执行前的前几微妙。
  4. 总结:
    编译: 词法单元——树结构——代码生成。
  • 作用域
    当我们执行一段代码时,都有哪些处理参与了呢?
  1. 引擎:负责从头到尾整个JavaScript的编译及执行过程;
  2. 编译器:负责语法分析及代码生成等粗活;
  3. 作用域:负责收集并维护有所有声明的标识符(变量)组成的一系列查询,并实施一套非常严格的股则,确定当前执行的代码对这些标识符的访问权限。
  4. 总结: 变量的赋值操作会执行两个动作,首先编译器会在当前作用域中声明一个变量(如果之前没有声明过的话), 然后在运行时引擎会在作用域中查找该变量,如果找到,就会对他赋值。
    (代码,编译时构建,运行时查找)
  • 总结
    作用域是一套规则,用于确定在何处以及如何查找变量。(标识符)
posted @ 2017-09-03 22:09  美美王子  阅读(140)  评论(0编辑  收藏  举报