今天完成的事情:
- 參考著寫完了任務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, 這個特性用的比較少,但是預留出來會比較合理