踩坑記:01

- 在`try`中`return Promise.reject()`不會(huì)觸發(fā)`catch`,`await Promise.reject()`會(huì)
-?`createHashRouter`的`basename`會(huì)被拼到 hash 而不是 path 中
- `try...catch...finally`中`finally`的`return`會(huì)覆蓋前兩者的`return`或`throw`,即使前兩者執(zhí)行了`return`或`throw`,`finally`塊也會(huì)執(zhí)行
- 函數(shù)內(nèi)部若依賴于一些外部變量,那么函數(shù)提升可能會(huì)帶來(lái)一些問(wèn)題
- 原始類型是沒(méi)有屬性和方法的,但大部分原始值仍然表現(xiàn)得像有一樣。當(dāng)在原始值上訪問(wèn)屬性時(shí),JavaScript 自動(dòng)將值裝入包裝器對(duì)象中,并訪問(wèn)該對(duì)象上的屬性。例如,"foo".includes("f") 隱式創(chuàng)建了一個(gè) String 包裝對(duì)象,并在該對(duì)象上調(diào)用 String.prototype.includes()。
- `Boolean`、`Number`、`BigInt`、`String`、`Symbol`被`new`調(diào)用時(shí),返回一個(gè)與原始值對(duì)應(yīng)的包裝對(duì)象而非原始值本身
- 隱式類型轉(zhuǎn)換依賴于原始值包裝對(duì)象
- 包裝對(duì)象淺等于對(duì)應(yīng)的原始值
- 不存在用來(lái)包裝`undefined`和`null`的對(duì)象,故從它們身上訪問(wèn)屬性或方法時(shí),會(huì)拋出`TypeError`
- github pages 默認(rèn)使用 jekyll 進(jìn)行部署,jekyll 會(huì)忽略`_`開(kāi)頭的文件,需要添加`_config.yml`文件指定要包含的文件
- `_config.yml`要放到 github pages 的部署目錄下
- 也可以在部署目錄下生成一個(gè)`.nojekyll`文件,以關(guān)閉 jeklly 部署
- CssModule 會(huì)編譯偽類中的類名、`:global`指令里的類名不會(huì)被編譯
- `touchmove`事件在移動(dòng)端(IOS 上沒(méi)有)有一個(gè)默認(rèn)行為,input 的內(nèi)容可以被滑動(dòng),可以使用[pointer-events](https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events)、[touch-action](https://developer.mozilla.org/zh-CN/docs/Web/CSS/touch-action)禁用它
- form 標(biāo)簽可以用`FormData`類和`formdata`事件收集其中的數(shù)據(jù)
- `input[type=reset]`可以將 form 中的 input 的 value 還原為其 value 屬性上寫定的值
- 每當(dāng)組件函數(shù)執(zhí)行時(shí),調(diào)用的 hook 數(shù)必須一致
- border-box 的使用場(chǎng)合:需要給子元素設(shè)置 padding、border 或百分比的寬高
- JS 可以使用`getComputedStyle()`訪問(wèn)到 CSS 為元素設(shè)置的樣式
- vue 中:只有 dom 更新才會(huì)觸發(fā) update 鉤子,更新的 dom 屬于哪個(gè)組件,哪個(gè)組件的 update 鉤子就觸發(fā)