欢迎光临散文网 会员登陆 & 注册

踩坑记:01

2023-02-07 11:52 作者:Yang_Lee  | 我要投稿
  1. - 在`try`中`return Promise.reject()`不会触发`catch`,`await Promise.reject()`会

  2. - `createHashRouter`的`basename`会被拼到 hash 而不是 path 中

  3. - `try...catch...finally`中`finally`的`return`会覆盖前两者的`return`或`throw`,即使前两者执行了`return`或`throw`,`finally`块也会执行

  4. - 函数内部若依赖于一些外部变量,那么函数提升可能会带来一些问题

  5. - 原始类型是没有属性和方法的,但大部分原始值仍然表现得像有一样。当在原始值上访问属性时,JavaScript 自动将值装入包装器对象中,并访问该对象上的属性。例如,"foo".includes("f") 隐式创建了一个 String 包装对象,并在该对象上调用 String.prototype.includes()。

  6. - `Boolean`、`Number`、`BigInt`、`String`、`Symbol`被`new`调用时,返回一个与原始值对应的包装对象而非原始值本身

  7. - 隐式类型转换依赖于原始值包装对象

  8. - 包装对象浅等于对应的原始值

  9. - 不存在用来包装`undefined`和`null`的对象,故从它们身上访问属性或方法时,会抛出`TypeError`

  10. - github pages 默认使用 jekyll 进行部署,jekyll 会忽略`_`开头的文件,需要添加`_config.yml`文件指定要包含的文件

  11. - `_config.yml`要放到 github pages 的部署目录下

  12. - 也可以在部署目录下生成一个`.nojekyll`文件,以关闭 jeklly 部署

  13. - CssModule 会编译伪类中的类名、`:global`指令里的类名不会被编译

  14. - `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)禁用它

  15. - form 标签可以用`FormData`类和`formdata`事件收集其中的数据

  16. - `input[type=reset]`可以将 form 中的 input 的 value 还原为其 value 属性上写定的值

  17. - 每当组件函数执行时,调用的 hook 数必须一致

  18. - border-box 的使用场合:需要给子元素设置 padding、border 或百分比的宽高

  19. - JS 可以使用`getComputedStyle()`访问到 CSS 为元素设置的样式

  20. - vue 中:只有 dom 更新才会触发 update 钩子,更新的 dom 属于哪个组件,哪个组件的 update 钩子就触发


踩坑记:01的评论 (共 条)

分享到微博请遵守国家法律