执行上下文
2017-06-02 17:57:42 0 举报
AI智能生成
执行上下文是指在程序执行期间,用于存储变量和函数声明以及它们之间的关系的数据结构。它定义了代码的执行环境,包括可用的变量、函数和对象。当程序进入一个新的执行上下文时,它会创建一个新的变量对象和一个作用域链。变量对象包含了当前执行上下文中定义的所有变量和函数声明。作用域链则用于确定一个变量或函数的来源,以确保正确的访问权限。执行上下文可以分为全局执行上下文和局部执行上下文。全局执行上下文是整个程序的执行环境,而局部执行上下文则是在特定函数或块内定义的执行环境。通过理解执行上下文的概念,程序员可以更好地控制和管理代码的执行过程。
作者其他创作
大纲/内容
执行上下文栈
可执行代码类型
全局代码
函数代码
eval代码
执行上下文类型
全局上下文
函数上下文
eval上下文
执行上下文组成
作用域链 Scope chain
全局上下文
[全局对象]
函数上下文
[当前激活对象+function.[[scope]]]
函数创建时所在是EC.scope chain
函数可访问函数外部变量的原因
eval上下文
this
进入上下文时确定
运行期间不可改变
函数使用方式
作为构造器使用
Reference
组成
定义
产生条件
变量查找
访问属性
变量对象 Variable Object
用来存储
变量
声明式函数
函数形参
变量对象类型
全局对象
内置对象
宿主环境
用户自定义
特点
在程序执行前准备好
单例
可在任意位置访问该对象的实例
激活对象
arguments
callee
length
超出传入参数格式的index与形参不共享值
arr
Calling context.vo
变量实例化
时期:进入上下文时,代码执行前
同名实例化顺序
1. 声明式函数--->变量对象
2. 函数形参---->变量对象
3. 变量----->变量对象
var变量初始化值为undefined
代码执行步骤
进入上下文
初始化this
作用域链
变量对象
变量实例化
代码执行
0 条评论
下一页