0%
五、JavaScript之作用域链
在上一篇的文章中,我们了解到执行上下文数据(变量、函数声明和函数的所有形参)是由这个变量对象的属性存储的,另外,我们知道每次进入上下文时都会创建变量对象并填充初始化值,并且在执行上下文代码时会发生它的修改。
下面我们叫了解执行上下文相关的另一个概念:作用域链。
四、JavaScript之变量对象
在前面的文章《JavaScript之执行上下文栈》中讲到,当 JavaScript 代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution context)。
三、JavaScript之执行上下文栈
由于JS是单线程的,每次只能做一件事情,其他的事情会放在指定的上下文栈中排队等待执行,所以执行上下文栈的作用是用来跟踪代码的,。
JS解释器在初始化代码的时候,首先会创建一个新的全局执行上下文到执行上下文栈顶中,然后随着每次函数的调用都会创建一个新的执行上下文放入到栈顶中,随着函数执行完毕后被执行上下文栈顶弹出,直到回到全局的执行上下文中。(栈:一种数据结构,遵循后进先出的原则)。下面我们说说执行上下文栈是如何工作的。
二、JavaScript之作用域
一、JavaScript之原型和原型链
关于Markdown的基本用法
Markdown 是一种文本格式。你可以用它来控制文档的显示。使用 markdown,你可以创建粗体的文字,斜体的文字,添加图片,并且创建列表 等等。基本上来讲,Markdown 就是普通的文字加上 # 或者 * 等符号。
110. 平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树。
104. 二叉树的最大深度
给定一个二叉树,找出其最大深度。