多叉树的复习
多叉树复习
「多叉树」就是分 N 岔的树,每個节点可以有零个、一个、两个、……、 N 个小孩。 类似:
本文主要内容为: 1. 文件读入树状数据(json格式),构造多叉树 2. 多叉树的深度遍历 3. 多叉树的层次遍历
read more复习JavaScript6
原型和原型链 复习
原型
function Person(){
}
Person.prototype.name = 'Jim';
Person.prototype.sayName = function(){
comsole.log(this.name);
};
var person1 = new Person();
var person2 = new Person();
下图说明了Person构造函数、Person原型以及person两个实例的关系。
要说明的是当构造函数创建一个新实例后,生成的实例会包含一个[[prototype]]指针,指向构造函数的原型对象。在chrome、Safari、Firefox中以proto形式存在;在其他实现中脚本是不可见的。
为jekyll添加plantUML
jekyll on github Pages 添加plantuml 经过昨天的努力终于把plantuml装好了,效果如下: 具体过程稍后再补 read more复习JavaScript5
立即调用的函数表达式 复习
函数的执行上下文
在JavaScript里,任何function在执行的时候都会创建一个执行上下文,因为为function声明的变量和声明的function有可能只在该function内部。
// 由于该function里返回了另外一个function,其中这个function可以访问自由变量i
// 所有说,这个内部的function实际上是有权限可以调用内部的对象。
function makeCounter() {
// 只能在makeCounter内部访问i
var i = 0;
return function () {
console.log(++i);
};
}
// 注意,counter和counter2是不同的实例,分别有自己范围内的i。
var counter = makeCounter();
counter(); // logs: 1
counter(); // logs: 2
var counter2 = makeCounter();
counter2(); // logs: 1
counter2(); // logs: 2
alert(i); // 引用错误:i没有defind(因为i是存在于makeCounter内部。
复习JavaScript 4
全面解析Module模式 复习
基本用法
var Calculator = function (eq) {
//这里可以声明私有成员
var eqCtl = document.getElementById(eq);
return {
// 暴露公开的成员
add: function (x, y) {
var val = x + y;
eqCtl.innerHTML = val;
}
};
};
每次调用的时候new一下,不过这样每个实例都独立存在于内存中。
var calculator = new Calculator('eq');
calculator.add(2, 2);