Skip to content

Latest commit

 

History

History
6 lines (5 loc) · 916 Bytes

作用域.md

File metadata and controls

6 lines (5 loc) · 916 Bytes

词法作用域 vs 动态作用域

  • 作用域:定义为一组规则,它主宰着 引擎 如何通过标识符名称在当前的 作用域,或者在包含它的任意 嵌套作用域 中来查询一个变量。
  • 词法作用域:是在 词法分析 时被定义的作用域。词法作用域是基于,你,在写程序时,变量和作用域的块儿在何处被编写决定的。是函数被声明的位置唯一定义的。是变量被声明时的位置唯一定义的。总结就是:词法作用域的关键性质是,在代码被编写时定义。
  • 骗过词法作用域的一些方法被认为是糟粕。有两种机制,一种是eval(...)、setTimeout(...)、setInterval(...)、new Function(...)这种动态生成代码的形式;另一种是已废除的with语句。
  • 动态作用域的机制类似等同于JavaScript中的(this)机制,由运行时确定。