JavaScript复习10

March 24, 2014

read more

JavaScript复习9

March 20, 2014

作用域链 复习

在对变量对的了解中,变量对象作为执行上下文的数据(包括变量、函数声明、函数形参)的概念已经清楚。 那作用域有一个什么东西?

read more

javaScript复习8

March 19, 2014

关于this

JavaScript中this一直是比较奇怪的,并不像java那样静态绑定当前对象。
那JavaScript的this到底是怎么定义的呢?

定义

The this keyword evaluates to the value of the ThisBinding of the current execution context. The this value depends on the callerand the type of code being executed and is determined when control enters the execution context. Thethis value associated with an execution context is immutable. (ECMA-3)

也就是说this是可执行代码类型有关系,在进入执行上下文时确定,而且不可改变。

read more

BinaryTree

March 13, 2014

二叉树 复习

二叉树是一种每个节点最多有两个子节点的树。 由于二叉树的子节点数目确定,所以可以直接采用下图方式在内存中实现。

read more

JavaScript复习7

March 06, 2014

执行上下文和变量对象 复习

执行上下文

每次当控制器转到ECMAScript可执行代码的时候,即会进入到一个执行上下文。活动的执行上下文组在逻辑上组成一个堆栈。堆栈底部永远都是全局上下文(global context),而顶部就是当前(活动的)执行上下文。堆栈在EC类型进入和退出上下文的时候被修改(推入或弹出)。

可执行代码类型

假设,可执行上下文堆栈是一个数组:

ECStack = [];

每次进入function或eval的时候,这个堆栈会被压入。

read more