没有合适的资源?快使用搜索试试~ 我知道了~
全局代码这种类型的代码是在"程序"级处理的:例如加载外部的js文件或者本地<script></script>标签内的代码。每次return的时候,都会退出当前执
资源详情
资源评论
资源推荐

定义
每次当控制器转到 ECMAScript 可执行代码的时候,即会进入到一个执行上下文。执行上
下文(简称-EC)是 ECMA-262 标准里的一个抽象概念,用于同可执行代码(executable
code)概念进行区分。
标准规范没有从技术实现的角度定义 EC 的准确类型和结构,这应该是具体实现
ECMAScript 引擎时要考虑的问题。
活动的执行上下文组在逻辑上组成一个堆栈。堆栈底部永远都是全局上下文(global
context),而顶部就是当前(活动的)执行上下文。堆栈在 EC 类型进入和退出上下文的时候
被修改(推入或弹出)。
可执行代码类型
可执行代码的类型这个概念与执行上下文的抽象概念是有关系的。在某些时刻,可执行代
码与执行上下文完全有可能是等价的。
例如,我们可以定义执行上下文堆栈是一个数组:
ECStack = [];
每次进入 function (即使 function 被递归调用或作为构造函数) 的时候或者内置的 eval 函
数工作的时候,这个堆栈都会被压入。
全局代码
这种类型的代码是在"程序"级处理的:例如加载外部的 js 文件或者本地<script></script>
标签内的代码。全局代码不包括任何 function 体内的代码。
在初始化(程序启动)阶段,ECStack 是这样的:
ECStack = [
globalContext
];
函数代码
当进入 funtion 函数代码(所有类型的 funtions)的时候,ECStack 被压入新元素。需要注意
的是,具体的函数代码不包括内部函数(inner functions)代码。如下所示,我们使函数自己
调自己的方式递归一次:



















吹狗螺的简柏承
- 粉丝: 6
- 资源: 313
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制

评论0