Wei Zhang's Blog


  • 首页

  • 标签

  • 分类

  • 搜索

js-typeof与instanceof实现原理

发表于 2021-02-20 | 分类于 JavaScript
字数统计: 986 字 | 阅读时长 ≈ 3 分钟

JavaScript数据类型

JavaScript有八种内置类型

  • 空值(null)
  • 未定义(undefined)
  • 布尔值(boolean)
  • 数字(number)
  • 字符串(string)
  • 对象 (object)
  • 符号(symbol, ES6中新增)
  • 大整数(BigInt, ES2020 引入)

除对象外,其他统称为“基本类型”。

Symbol 是ES6中引入的一种原始数据类型,表示独一无二的值。BigInt(大整数)是 ES2020 引入的一种新的数据类型,用来解决 JavaScript中数字只能到 53 个二进制位(JavaScript 所有数字都保存成 64 位浮点数,大于这个范围的整数,无法精确表示的问题。(在平常的开发中,数据的id 一般用 string 表示的原因)。为了与 Number 类型区别,BigInt 类型的数据必须添加后缀n。 1234为普通整数,1234n为 BigInt。

阅读全文 »

Vue3-手写reactivity模块

发表于 2021-02-05 | 分类于 Vue3
字数统计: 2.8k 字 | 阅读时长 ≈ 12 分钟

大致结构

1
2
3
4
5
6
7
8
9
10
11
/* 建立响应式数据 */
function reactice(obj){}

/* 声明响应函数cb(依赖响应式数据) */
function effect(cb){}

/* 依赖收集:建立 数据&cb 映射关系 */
function track(target,key){}

/* 触发更新:根据映射关系,执行cb */
function trigger(target,key){}
阅读全文 »

Vue3-响应式原理

发表于 2021-02-04 | 分类于 Vue3
字数统计: 261 字 | 阅读时长 ≈ 1 分钟
Vue3 中响应式核心方法就是 reactive 和 effect , 其中 reactive 方法是负责将数据变成响应式,effect 方法的作用是根据数据变化去更新视图或调用函数。 其大概用法如下: 12345678let { reactive, effect } = Vue ...
阅读全文 »

ES6-Map、WeakMap、Set、WeakSet

发表于 2021-02-03 | 分类于 ES6
字数统计: 2.6k 字 | 阅读时长 ≈ 10 分钟

Map

Map 是键值对的集合(Hash 结构),常被用做缓存,存储数据以便此后快速检索。类似于对象,但是对象结构提供的是“字符串-值”的对应,Map 结构提供了“值-值”的对应,是一种更完善的 Hash 结构实现。

阅读全文 »

js-有return的try catch finally执行顺序

发表于 2021-02-03 | 分类于 JavaScript
字数统计: 176 字 | 阅读时长 ≈ 1 分钟

结论

  1. 不管有木有出现异常,finally 块中代码都会执行;
  2. 当 try 和 catch 中有 return 时,finally 仍然会执行;
  3. finally 是在 return 后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管 finally 中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在 finally 执行前确定的;
  4. finally 中最好不要包含 return,否则程序会提前退出,返回值不是 try 或 catch 中保存的返回值。
阅读全文 »
<1…515253…191>

一期一会

951 日志
46 分类
68 标签
GitHub E-Mail
© 2017 — 2022 Wei Zhang | Site words total count: 684.2k
 本站访客数 人  本站总访问量 次