-
RecordRecord<Keys, Type>定义一个对象的 key 和 value 类型
源码
123type Record<K extends keyof any, T> = { [P in K]: T...
-
泛型泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。
例子123456789function createArray(length: number, value: any): Arra...
-
赋值赋值是将某一数值或对象赋给某个变量的过程,分为下面 2 部分
基本数据类型:赋值,赋值之后两个变量互不影响
引用数据类型:赋址,两个变量具有相同的引用,指向同一个对象,相互之间有影响
浅拷贝创建一个新对象,这个对象有着原始对象属性值的一份精确...
-
概念首屏时间指的是浏览器从响应用户输入网址地址,到首屏内容渲染完成的时间,此时整个网页不一定要全部渲染完成,但需要展示当前视窗需要的内容。
白屏时间白屏时间是指浏览器开始显示内容的时间。因此,我们通常认为解析完 <head> 的时刻或开始...
-
定义类型范围interface只能定义对象类型,而type声明可以声明任何类型,包括基础类型、联合类型、元组类型、交叉类型。
12345678910111213141516// 基本类型 type person = string // 对象类型int...
-
NextTick官方定义:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
我们可以理解成,Vue 在更新 DOM 时是异步执行的。当数据发生变化,Vue将开启一个异步更新队列,视图需要等队列中所有...
-
虚拟DOM实际上它只是一层对真实DOM的抽象,以JavaScript 对象 (VNode 节点) 作为基础的树,用对象的属性来描述节点,最终可以通过一系列操作使这棵树映射到真实环境上。
在Javascript对象中,虚拟DOM 表现为一个 Objec...
-
观察者模式观察者模式定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新。
观察者模式属于行为型模式,行为型模式关注的是对象之间的通讯,观察者模式就是观察者和被观察者之间的通讯。
被观察者:
12...
-
diff算法diff 算法是一种通过同层的树节点进行比较的高效算法。
其有两个特点:
比较只会在同层级进行, 不会跨层级比较
在diff比较的过程中,循环从两边向中间比较
diff 算法在很多场景下都有应用,在 vue 中,作用于虚拟 dom 渲...
-
定义函数的 this 关键字在 JavaScript 中的表现略有不同,此外,在严格模式和非严格模式之间也会有一些差别。
在绝大多数情况下,函数的调用方式决定了 this 的值(运行时绑定)。
this 关键字是函数运行时自动生成的一个内部对象,只能...