JavaScript中的执行上下文有三种类型:
全局执行上下文(GEC):这是默认执行上下文,当文件首次加载到浏览器中时,JS代码在该默认执行上下文中开始执行。所有全局代码都在全局执行上下文中执行。在浏览器上下文中,如果代码在严格模式下执行,则此值未定义,否则为窗口对象。全局执行上下文不能超过一个,因为JS代码执行只能使用一个全局环境。
功能执行上下文(FEC)::功能执行上下文定义为通过函数内部代码的执行创建的上下文。每个函数都有其自己的执行上下文。可以不止一个。功能执行上下文可以访问全局执行上下文的所有代码。在执行全局执行上下文代码时,如果JS引擎找到一个函数调用,它将为该函数创建一个新的函数执行上下文。
Eval: eval函数中的执行上下文。