JS中的执行上下文(JS代码运行的环境)概念
js代码在执行前,首先会创建一个执行栈,同时初始化全局对象,代码开始执行后,创建全局执行上下文并压入执行栈底部,然后存储全局执行上下文的参数、变量、函数在VO(在全局状态下VO==GO)中,然后开始全局执行代码,当函数被调用后创建函数上下文并压入执行栈顶部,并存储当前执行上下文的参数、变量、函数在VO中,当函数被调用后,函数执行上下文的 VO 在函数调用时被激活为 AO(活动对象),AO 会存储函数的 arguments、形参、局部变量和局部函数声明”,函数执行完后,出栈回到全局上下文继续往下执行,否则代码执行结束。