11 2022 档案
摘要:1、简介 数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果。 经典的应用是Vue双向数据绑定。 常见的数据劫持实现方法有两种: Object.defineProperty Proxy设置代理(ES6新增) 本篇文章介绍Proxy的使用。 2、P
阅读全文
摘要:1、简介 数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果。 经典的应用是Vue双向数据绑定。 常见的数据劫持实现方法有两种: Object.defineProperty proxy设置代理(ES6新增) 本篇文章介绍Object.define
阅读全文
摘要:MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范,是将业务逻辑、数据、显示分离的方法来组织代码。 主要作用是降低了视图与业务逻辑间的双向耦合。 MVC不是一种设计模式,MVC是一种架构模式。 M(Model):模型层,应用程序中用来处理程
阅读全文
摘要:1、概述 四次挥手是浏览器和服务器断开连接的一种方式,目的是断开连接,结束数据传输的过程。 第一次挥手:浏览器告诉服务器,我的数据传输完了,我要断开连接了。 第二次挥手:服务器告诉浏览器,好的我知道你要断开连接了,但我还有数据没传完,我传完再告诉你。 第三次挥手:服务器的数据传完了,告诉浏览器自己也
阅读全文
摘要:1、概述 TCP三次握手是浏览器和服务器建立连接的方式,目的是为了使二者能够建立连接,便于后续的数据交互传输。 第一次握手:浏览器向服务器发起建立连接的请求。 第二次握手:服务器告诉浏览器,我同意你的连接请求,同时我也向你发起建立连接的请求。 第三次握手:浏览器也告诉服务器,我同意建立连接。 至此,
阅读全文
摘要:TCP报文格式 TCP头部 固定首部部分 一共20个字节,在图中分为五行,每行四个字节,也就是32位。 长度不定的可选字段 可选字段的长度不定,意味着TCP头部的长度是可变的。 字段详解 第一行:源端口和目的端口 TCP源端口(Source Port):源计算机上的应用程序的端口号,占16位(bit
阅读全文
摘要:字节是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。 数据存储是以“字节”(Byte)为单位。 数据传输是以大多是以“位”(bit,又名“比特”)为单位。 一个位就代表一个0或1(即二进制),每8个位(bit,简写为b)组成一个字节(Byte,简写为B
阅读全文
摘要:1、TCP/IP模型是什么? 众所周知,人与人之间需要交流,而计算机之间,也需要交流。 人使用语言进行交流,而计算机则是通过TCP/IP模型或协议来交流。 TCP和IP分别是两个协议。 TCP:传输控制协议(Transmission Control Protocol)。 IP:互联网协议地址(Int
阅读全文
摘要:1、概念 HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 HTTPS: 是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,
阅读全文
摘要:1、概述 垃圾回收机制(Garbage Collection) 简称 GC。 所谓垃圾回收机制就是清理内存的方式。 在JS中,我们创建变量的时候,JS引擎会自动给对象分配对应的内存空间,不需要我们手动分配。 当代码执行完毕的时候,JS引擎也会自动地将你的程序,所占用的内存清理掉。 正是因为有垃圾回收
阅读全文
摘要:问题复现 1、创建一个TEST文件夹,TEST文件夹下有一个test.js文件。 2、将这个修改推送到gitee仓库上 3、修改本地文件夹的名字大小写,从TEST,修改为Test。 这个时候就出现了问题,git status命令表示,没有任何修改: 那么问题来了,导致这个问题的原因是什么?我们又该怎
阅读全文
摘要:虚拟DOM就是用JS来模拟DOM结构的,它并不是真正的DOM。 为什么使用虚拟DOM? 用传统的方式去操作DOM的时候,浏览器会从构建DOM树开始,从头到尾执行一遍流程。简单来说,就是会触发重排与重绘。 比如说,在一次操作中,需要更新10个DOM节点。 理想是一次性构建完成DOM树,但是浏览器并不会
阅读全文
摘要:什么是不可变数据 不可变数据的概念来自函数式编程。 在函数式编程中,对已初始化的“变量”是不可以更改的,每次更改都要创建一个新的“变量”。 Javascript 在语言层没有实现不可变数据,需要借助第三方库来实现。(immutable.js 或者 immer.js) 为什么使用不可变数据? 使用不可
阅读全文
摘要:JS的数据类型 基本数据类型(七种) Number String Boolean Null Undefined Symbol Symbol详解 BigInt BigInt数据类型的目的是比Number数据类型支持的范围更大的整数值以任意精度表示整数的能力尤为重要。 JS 中的Number类型只能安全
阅读全文
摘要:元素偏移量offset系列 offset是元素偏移量,使用offset系列相关属性可以动态的得到该元素的偏移位置、大小等。 可以获取元素 距离带有定位度元素 的位置 可以获取元素自身的大小(宽度、高度) 返回的数值不带单位 offset系列常用属性 |offset系列属性|作用|| |--|--|-
阅读全文
摘要:前端性能优化,分为两个部分: 加载性能优化 渲染性能优化 本篇随笔介绍渲染性能优化。 渲染性能优化 浏览器渲染过程 1、解析HTML,生成DOM树。 2、解析CSS,生成CSSDOM规则树。 3、解析JS,操作DOM树和CSSDOM规则树。 4、将DOM树和CSSDOM规则树合并在一起,生成渲染树。
阅读全文

浙公网安备 33010602011771号