一.执行环境 执行环境(也叫做执行上下文,Execution Context)是Javascript中最为重要的一个概念.执行环境定义了变量或函数有权访问其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,执行环境中定义的所有变量和函数都保存在这个对象中.虽然我们编写的代码无法访问这个对象,但解析器在处理时会在后台使用它. 全局执行环境是最外围的一个执行环境.根据ECMAScript实现所在的宿主环境不同,表示执行环境的对象也不一样.在web浏览器中,全局执行环境被认为是wi…
前言 这几天在看<javascript高级程序设计>,看到执行环境和作用域链的时候,就有些模糊了.书中还是讲的不够具体. 通过上网查资料,特来总结,以备回顾和修正. 要讲的依次为: EC(执行环境或者执行上下文,Execution Context) ECS(执行环境栈Execution Context Stack) VO(变量对象,Variable Object)|AO(活动对象,Active Object) scope chain(作用域链)和[[scope]]属性 EC 每当控制器到达EC…
执行环境(execution context,为简单起见,有时也称为"环境")是 JavaScript 中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象中.虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它. 全局执行环境是最外围的一个执行环境.根据 ECMAScript 实现所在的宿主环境不同,表示执行环境的对…
前言 JavaScript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存. [原理]找出那些不再继续使用的变量,然后释放其占用的内存.为此,垃圾收集器会按照固定的时间间隔(或代码执行中预定的收集时间),周期性地执行这一操作. 在学习垃圾回收机制之前让我们先来学习下执行环境及作用域 执行环境 执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对…
JavaScript引擎在开始编译代码的时候,会对JavaScript代码进行一次预编译,生成一个执行环境,比如如下代码: window.onload=function(){ function sub(a,b){ return a-b; } var result=sub(5,10); } 就会生成如下图所示的一个类似嵌套的执行环境的逻辑结构视图, 说明:这些执行环境(也叫作用域)都会有一个变量对象,这些变量对象保存着该执行环境(作用域)中的所有变量与函数的名和值,虽然JavaScript代码还没…
javascript的关键所在---作用域链 javascript里的作用域是理解javascript语言的关键所在,正确使用作用域原理才能写出高效的javascript代码,很多javascript技巧也是围绕作用域进行的,今天我要总结一下关于javascript作用域的相关知识. 很多人使用javascript时候会把{}作为作用域的边界,所以我们可以看看下面的代码: function ftn01(){ var i = 1; if (i == 1){ var a = "ok"; }…
javascript执行环境(执行期上下文) 当js控制器(control)进入可执行代码时,控制器会进入一个执行环境,活动的多个执行环境构成执行环境栈,最上面的是正在运行的执行环境,当控制器进入一个新的执行环境时,新的执行环境被放到栈最顶端. 执行环境包含以下三个组件: 组件 作用目的 词法环境 执行环境内的代码创建的标识符引用的一个词法环境对象 变量环境 执行环境内的代码通过变量表达式和函数表达式创建的绑定的一个词法环境对象. this绑定 指定该执行环境内的this关键字所关联的值. 执行…
总结自<高程三>第四章  理解Javascript_12_执行模型浅析   JS的执行环境与作用域  javascript高级程序第三版学习笔记[执行环境.作用域] 在javascript中,可执行的JavaScript代码分三种类型: 1. Global Code,即全局的.不在任何函数里面的代码,例如:一个js文件.嵌入在HTML页面中的js代码等. 2. Eval Code,即使用eval()函数动态执行的JS代码. 3. Function Code,即用户自定义函数中的函数体JS代码.…
前言 这几天在看<javascript高级程序设计>,看到执行环境和作用域链的时候,就有些模糊了.书中还是讲的不够具体.通过上网查资料,特来总结,以备回顾和修正. 目录: EC(执行环境或者执行上下文,Execution Context) ECS(执行环境栈Execution Context Stack) VO(变量对象,Variable Object)|AO(活动对象,Active Object) Scope Chain(作用域链)和[[Scope]]属性 EC——执行环境或执行上下文 每当…
1.执行环境 执行环境是JavaScript中国最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了他们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中.虽然我们编写代码无法访问这个对象,但解析器在处理数据时会在后台使用它. 全局执行环境时最外围的一个执行环境.根据ECMAScript事先实现所在的宿主环境不同,表示执行环境的对象也不一样.在Web浏览器中,全局执行环境被认为是window对象,一次所有全局变量和函数都是最为win…