如何详细解析JavaScript执行上下文及顺序的运作机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1927个文字,预计阅读时间需要8分钟。
一、执行上下文是什么?
执行上下文是JavaScript运行时的一个概念,指的是当前正在执行的JavaScript代码的环境。它包括以下内容:
1. 变量对象(Variable Object,VO):存储了执行上下文中的变量和函数声明。
2.作用域链(Scope Chain):用于查找变量和函数的引用。
3.返回值(Return Value):当函数执行结束时,可能返回的值。
二、执行上下文分类
1. 全局执行上下文(Global Execution Context,GEC):在代码执行开始时创建,包含全局变量和全局作用域链。
2. 函数执行上下文(Function Execution Context,FEC):在函数被调用时创建,包含函数的参数、局部变量和函数的作用域链。
三、执行上下文执行过程
1. 创建变量对象:在全局执行上下文中,创建全局变量对象;在函数执行上下文中,创建局部变量对象。
2. 执行代码:按照代码顺序执行,变量声明被提升,函数声明也被提升。
3. 作用域链:当需要查找变量或函数时,先在变量对象中查找,如果找不到,则沿着作用域链向上查找。
4. 执行完毕:当函数执行完毕后,当前执行上下文被销毁。
本文共计1927个文字,预计阅读时间需要8分钟。
一、执行上下文是什么?
执行上下文是JavaScript运行时的一个概念,指的是当前正在执行的JavaScript代码的环境。它包括以下内容:
1. 变量对象(Variable Object,VO):存储了执行上下文中的变量和函数声明。
2.作用域链(Scope Chain):用于查找变量和函数的引用。
3.返回值(Return Value):当函数执行结束时,可能返回的值。
二、执行上下文分类
1. 全局执行上下文(Global Execution Context,GEC):在代码执行开始时创建,包含全局变量和全局作用域链。
2. 函数执行上下文(Function Execution Context,FEC):在函数被调用时创建,包含函数的参数、局部变量和函数的作用域链。
三、执行上下文执行过程
1. 创建变量对象:在全局执行上下文中,创建全局变量对象;在函数执行上下文中,创建局部变量对象。
2. 执行代码:按照代码顺序执行,变量声明被提升,函数声明也被提升。
3. 作用域链:当需要查找变量或函数时,先在变量对象中查找,如果找不到,则沿着作用域链向上查找。
4. 执行完毕:当函数执行完毕后,当前执行上下文被销毁。

