《JS中的执行上下文(Execution Context)和栈(stack)》:https://www.jianshu.com/p/e4051933e88e
这篇翻译的文章说的挺好。
- 介绍了执行上下文的概念
 - 相关的执行栈
 - 执行上下文的拆解
 - 执行上下文与js解析器
 - 为什么会有hoisting提升?以及,hoisting跟执行上下文之间的联系。
 
一个执行上下文从概念上可以视为一个包含三个property的Object:
executionContextObj = {'scopeChain': { /* variableObject + all parent execution context's variableObject */ },'variableObject': { /* function arguments / parameters, inner variable and function declarations */ },'this': {}}
