- 在`try`中`return Promise.reject()`不会触发`catch`,`await Promise.reject()`会
- `createHashRouter`的`basename`会被拼到 hash 而不是 path 中
- `try...catch...finally`中`finally`的`return`会覆盖前两者的`return`或`throw`,即使前两者执行了`return`或`throw`,`finally`块也会执行
(资料图片)
- 函数内部若依赖于一些外部变量,那么函数提升可能会带来一些问题
- 原始类型是没有属性和方法的,但大部分原始值仍然表现得像有一样。当在原始值上访问属性时,JavaScript 自动将值装入包装器对象中,并访问该对象上的属性。例如,"foo".includes("f") 隐式创建了一个 String 包装对象,并在该对象上调用 String.prototype.includes()。
- `Boolean`、`Number`、`BigInt`、`String`、`Symbol`被`new`调用时,返回一个与原始值对应的包装对象而非原始值本身
- 隐式类型转换依赖于原始值包装对象
- 包装对象浅等于对应的原始值
- 不存在用来包装`undefined`和`null`的对象,故从它们身上访问属性或方法时,会抛出`TypeError`
- github pages 默认使用 jekyll 进行部署,jekyll 会忽略`_`开头的文件,需要添加`_config.yml`文件指定要包含的文件
- `_config.yml`要放到 github pages 的部署目录下
- 也可以在部署目录下生成一个`.nojekyll`文件,以关闭 jeklly 部署
- CssModule 会编译伪类中的类名、`:global`指令里的类名不会被编译
- `touchmove`事件在移动端(IOS 上没有)有一个默认行为,input 的内容可以被滑动,可以使用[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 标签可以用`FormData`类和`formdata`事件收集其中的数据
- `input[type=reset]`可以将 form 中的 input 的 value 还原为其 value 属性上写定的值
- 每当组件函数执行时,调用的 hook 数必须一致
- border-box 的使用场合:需要给子元素设置 padding、border 或百分比的宽高
- JS 可以使用`getComputedStyle()`访问到 CSS 为元素设置的样式
- vue 中:只有 dom 更新才会触发 update 钩子,更新的 dom 属于哪个组件,哪个组件的 update 钩子就触发