Skip to main content

2-3


HTML tags

  • <progress value="50" max="100"></progress> :進度條
  • <sub></sub><sup></sup>:用於一些特殊記號,將字上移或下移
`<p>H<sub>2</sub>O</p>`
`<p>X<sup>4</sup></p>`

示意圖


Table cells 合併

<td colspan="2" rowspan="2"></td>

演算法題目完成


console.log()

  • %c 之後接著的字串會吃到樣式
  • %C 有多個,後面接樣式參數就有多個
  • 樣式參數接完後,後面的參數就照舊印出
const object1 = { name: 'sss', age: ''354.4 }
console.log(
"%cHello%c world!",
"color: yellow;background:#e18;",
"font-weight: bold;",
object1
);

示意圖

Opitional Chaining

  • 使用後綴 ? 來表示,若值為 nullundefined,則不會再向下取值,拋出當前的值。但個人覺得在 debug 的時候反而會不知道哪一部份才是 nullundefined
  • 呼叫函式時若值為 nullundefined,則不會作動
console.log(obj?.name?.firstName); //物件情況
console.log(obj?.list?.[0]); // 陣列情況
obj.func?.() // 呼叫函式情況

注意:此語法在 Node 12 未實作,在 Node 14 才有。瀏覽器部分舊版本也不支援。


Git stash 復原

情境:原本要打 git stash pop 結果打成 git stash drop 把 commit 丟掉。( stash 也算一種 commit )

  • 列出沒有引用的 commit, git fsck --unreachable
Checking object directories: 100% (256/256), done.
Checking objects: 100% (16425/16425), done.
unreachable commit 4272c3d44215bce49b986e2db327e6cb2ea66f0c
unreachable tree aba06d02e81e3c95362e4c4144a9d2478c3876d7
unreachable commit 8ca8db5fb48f34777a8e1fbb8ec8b7b8a4892e08
unreachable blob 0ed50a66473b4f49d480b3d94985d18b00204d62
  • git show {commit} 看紀錄找丟掉的 commit 是哪個
  • 最後用 git stash apply {commit} 恢復

Event Loop

  • JavaScript 為單執行緒,若有程式需要等特定時間才會執行,會先將此程式丟至 callback queue 等待執行,等到 call stack 的程式都執行完畢且到了特定時間時才會丟回 call stack 執行
  • (額外補充:記錄著 function 執行順序以及其他需要的東西的地方就是 call stack,而知名的錯誤 stack overflow 指的就是 stack 太多東西滿出來了,例如說你遞迴呼叫一個 function 十萬次,stack 沒辦法存這麼多東西,於是就丟出 stack overflow 的錯誤。)
  • 加強觀念1:就算 setTimeout 設 0 ms 也一樣丟至 callback queue 等待執行。
  • 加強觀念2:setTimeout 設 1000 ms,最快會 1 秒後就執行,但如果此時 call stack 有很多個程式要執行,會使 setTimeout 裡的程式在超過 1秒還不會執行。(排隊的概念)
  • https://blog.huli.tw/2019/10/04/javascript-async-sync-and-callback/index.html?fbclid=IwAR2PuuSDyKYfXJ7ab2uSLGlXzT8yPfav69xnOqCZl1j1dR9xbJRKMJT1Yps