付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一个执行的上下文可以抽象的理解为object。每一个执行的上下文都有一系列的属性(我们称为上下文状态),他们用来追踪关联代码的执行进度。这个图示就是一个context的结构。上下文结构除了这3个所需要的属性(变量对象(variableobject)this指针(thisvalue),作用域链(scopechain))执行上下文根据具体实现还可以具有任意额外属性。接着,让我们仔细来看看这三个属性。变量对象(VariableAvariableobjectisascopeofdatarelatedwiththeexecutioncontext.It’saspecialobjectassociatedwiththecontextandwhichstoresvariablesandfunctiondeclarationsarebeingdefinedwithinthecontext.变量对象(variableobject)是与执行上下文相关的数据作用域(scopeofdata)它是与上下文关联的特殊对象,用于被定义在上下文中的变量(variables)和函数(functiondeclarations)变量对象(VariableObject)是一个抽象的概念,不同的上下文中,它表示使用不同的objectglobal全局上下文中,变量对象也是全局对象自身[globalobject]。(这就是我们可以通过全局对象的属性来指向全局变量)。让我们例子中的全局执行上下文情况varfoo=functionbar(){}////函数(functionbaz()this.foo==foo,//truewindow.bar==bar//console.log(baz);//错误,baz没有被定全局上下文中的变量对象(VO)会有如下属性:全局变量对象如上所示,函数“baz”如果作为函数表达式则不被不被包含于变量对象。这就是在函数外部尝试产生错误(ReferenceError)的原因。请注意,ECMAScript和其他语言相比(比如C/C++),仅有函数能够创建新的作用域。在函数内部定义的变量与内部函数,在外部非直接可见并且不污染全局对象。使用eval的时候,我们同样会使用一个新的(eval创建)执行上下文。eval会使用全局变量对象或调用者的变量对象(eval的调用来源)。那函数以及自身的变量对象又是怎样的呢?在一个函数上下文中,变量对象被表示为活动对象(activationobject)。活动对象(activation当函数被调用者激活,这个特殊的活动对象(activationobject)就被创建了。它包含普通参数(formalparameters)与特殊参数(arguments)对象(具有索引属性的参数映射表)。活动对象在函数上下文中作为变量对象使用。即:函数的变量对象保持不变,但除去变量与函数之外,还包含以及特殊对象arguments。考虑下面的情况:functionfoo(x,y)varz=functionbar(){}//函数(functionbaz()}foo(10,“foo”函数上下文的下一个激活对象(AO)如下图所示激活对象同样道理,functionexpression不在AO的行列。我们接下去要讲到的是第三个主要对象。众所周知,在ECMAScript中,我们会用到内部函数[innerfunctions],在这些内部函数中,我们可能会它的父函数变量,或者全局的变量。我们把这些变量对象成为上下文作用域对象[s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 风电项目风险评估报告
- 思修试卷及答案
- 司法考试试题及答案
- 双曲线的题目及答案
- 2026年软件工程师与项目管理师的协调工作面试题
- 安全生产法控告流程讲解
- 2026年IT项目经理的面试要点与考核标准解读
- 2025年企业人力资源管理与培训指导
- 2025年超市商品陈列与顾客体验提升手册
- 2025年高等教育教学质量评价手册
- 04S519小型排水构筑物1
- 光纤激光打标机说明书
- 劳动者个人职业健康监护档案
- 《两角和与差的正弦、余弦、正切公式》示范公开课教学PPT课件【高中数学人教版】
- 治理现代化下的高校合同管理
- 境外宗教渗透与云南边疆民族地区意识形态安全研究
- GB/T 28920-2012教学实验用危险固体、液体的使用与保管
- GB/T 26389-2011衡器产品型号编制方法
- GB/T 16588-2009带传动工业用多楔带与带轮PH、PJ、PK、PL和PM型:尺寸
- 人大企业经济学考研真题-802经济学综合历年真题重点
- 建筑抗震鉴定标准课件
评论
0/150
提交评论