静态作用域与动态作用域
- 静态作用域:函数的作用域在函数定义的时候决定,又称为词法作用域
- 动态作用域:函数的作用域在函数调用的时候决定
执行上下文
JavaScript 引擎并非一行一行地分析和执行程序,而是一段一段地分析执行。当开始执行一段代码时,会做相应的“准备工作”,如变量提升和函数提升。 这里的一段指的就是执行上下文,JavaScript 的执行上下文分为三种:全局代码,函数代码,eval 代码。 当有多级执行上下文时,会建立一个栈,一层一层地 push 和 pop 执行上下文。
JavaScript 引擎并非一行一行地分析和执行程序,而是一段一段地分析执行。当开始执行一段代码时,会做相应的“准备工作”,如变量提升和函数提升。 这里的一段指的就是执行上下文,JavaScript 的执行上下文分为三种:全局代码,函数代码,eval 代码。 当有多级执行上下文时,会建立一个栈,一层一层地 push 和 pop 执行上下文。