今天完成的事情:
- 参考着写完了任务7
参考地址:https://rawgit.com/ZweiLin/IFE/master/JavaScript/Task7/index.html - 用flexbox 代替原来的排版重写了一下样式
- 添加了一下注释
任务八参考链接:
http://smallstarz.com/baidutask-2017/binbinxueyuan/task8/task_1_8_1.html
明天计划的事情:
- 继续任务八,明天先分解一下任务
遇到的问题:
- SetTimeout
- addEventListener || onclick,
- 前序,中序和后序的理解方式
收获:
关于前序,中序, 后序的理解方式。
三者的命名,实际上与位置有关。观察下面的代码,showNode在函数里面的位置决定了命名的方法,若showNode在前,则为前序排序。若showNode在后,则为后序排序。这样子非常方便(我)理解。
知道了下面的函数, 非常容易推算出每一种排序方式的行为模式。 这里不赘述。
function preOrder(root) {
if (root) {
showNode(root);
preOrder(root.children[0]);
preOrder(root.children[1]);
}
}
function inOrder(root) {
if(root){
inOrder(root.children[0]);
showNode(root);
inOrder(root.children[1]);
}
}
function postOrder(root) {
if (root){
postOrder(root.children[0]);
postOrder(root.children[1]);
showNode(root);
}
}
addEventListener || onclick,
element.addEventListener('click', function() { /* do stuff here*/ }, false);
element.onclick = function () { /*do stuff here */ };
addEventListener 和 onclick 同样可以添加一个事件到元素上 , 他们之间的区别,经过我的理解, 有下面的两点
- (重点)addEventListener可以添加多个事件, 而onclick的事件则会被覆盖掉。为了添加多个事件和复用一般使用addEventListener
- addEventListener可以控制是否使用capture, 这个特性用的比较少,但是预留出来会比较合理