关于前端八股文の琐碎小记——1

81 阅读1分钟

⚠️遇到啥写啥,内容不多,自用、记录为主

  1. JS中数字类型+任意非字符类型都是数字类型(包括NaN也是数字类型)
  2. JS中字符串+任何基本类型数据都是字符串
  3. script标签中的deferasync
  • defer,异步加载JS脚本,等html全部解析完毕顺序执行
  • async,也是异步加载,但是完成一个执行一个,不顺序执行也不等待html全部解析完成

4.JS的数据类型:

  • 基本:string、number、boolean、undefined、null、symbol、bigint
  • 引用:object、array、function、date、regexp

5.nullundifined区别:

  • null是空对象,自动隐式转换为0(早期借鉴Java设计而来)
  • undefined是基本类型空值,不会自动转换,转换成数值为NaN
  1. ==:比较值,通过隐式调用valueOf()转换成原始数值比较
  2. 事件循环:先执行完同步的,再执行任务队列中的(事件循环,先微任务再宏任务),请求、定时器、事件...会进入事件循环
  3. 注意⚠️:!!Promise本身是同步代码!!,thencatch才是异步
  4. 在ES6前,JS中除了函数,没有块级作用域!!什么iffor里的变量都不是块级作用域;但是,对于没有使用varletconst的变量,即(window.)X,算是全局变量,不受上述制约!!(此外,不要忘记var变量提升
  5. 同名优先级:声明变量>普通函数声明(函数表达式不算)>参数>变量提升