- 博客(16)
- 收藏
- 关注
原创 Vue 3 结合 pdfjs - dist 实现大文件预览
pdfjs - dist 是一个用于在浏览器中渲染 PDF 文件的 JavaScript 库。它能够将 PDF 文件解析并渲染为 HTML5 的 canvas 元素,从而实现跨平台、无需插件的 PDF 预览。其核心优势在于对大文件的处理能力,通过分块加载和按需渲染等技术,有效提升了大 PDF 文件的加载速度和用户体验。
2025-04-10 17:09:09
670
原创 用JS实现富文本翻译,提取文本内容,去除HTML标签
所以在这里我们可以传入富文本里面的整个DOM节点,通过Node.TEXT_NODE和Node.ELEMENT_NODE判断每个节点是元素节点还是文本节点,将文本节点里面的内容通过node.textContent取出。然而,当富文本中的内容非常多时,翻译速度会变得很慢,甚至接口可能报错。为了解决这个问题,我们可以遍历富文本中的所有节点,将每个节点的内容提取为字符串数组,翻译完成后再替换回去。拿到翻译好的内容后,再写一个替换函数,按顺序替换掉将提取出来的文本节点。接下来我模拟一个翻译好的对应数组。
2024-11-30 17:46:57
886
原创 行内元素有哪些?块级元素有哪些?空元素有哪些?
行内元素不可以设置宽高,不独占一行 块级元素可以设置宽高,独占一行。空元素指在html中没有内容的html元素。
2023-10-04 15:49:03
96
1
原创 JS数组常用操作方法总结
方法返回一个新的数组对象,这一对象是一个由 start 和 end 决定的原数组的浅拷贝(包括 start,不包括 end),其中 start 和 end 代表了数组元素的索引。方法将一个数组的所有元素连接成一个字符串并返回这个字符串,用逗号或指定的分隔符字符串分隔。方法返回数组中满足提供的测试函数的第一个元素的索引。,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。方法返回数组中满足提供的测试函数的第一个元素的值。,新数组中的元素是通过检查指定数组中符合条件的所有元素。
2023-09-06 13:35:57
129
1
原创 你需要了解的UML类图
首先我们应该先来了解什么是UML——统一建模语言统一建模语言是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。那么对于设计模式来说,最重要的就是UML类图。下面就让我们一起来学习UML类图吧。
2023-08-29 23:37:41
82
1
原创 学习编程都应该知道的面向对象
面向对象编程,Object-Oriented-Program(简称 OOP)是一种目前主流的编程思想。而 OOP 引入了“对象”概念,对象即对应生活中的实物,这样就把编程具象化了。
2023-08-20 00:58:36
71
1
原创 你知道TCP和UDP的区别是什么吗?
4、TCP基于字节流的传输表示TCP不认为消息是一条一条的,是无保护消息边界的。UDP面向报文,是有 保护消息边界 的,接收方一次只能接受一条独立的消息。,使得每一个信息都能保证到达,是可靠的。并且当网络出现拥塞的时候,TCP能够减小向网络注入数据的速率和数量,缓解拥塞。,UDP只是将信息发送出去,对方收不收到也不进行应答。所以UDP协议是不可靠的。支持一对一、一对多、多对一、多对多的交互通信。是基于无连接的,通信前不需要进行三次握手。是基于连接的,通信前需要进行三次握手,;,故实际包含的用户数据较少。
2023-08-07 18:46:03
77
1
原创 你知道从输入URL到页面展示发生了什么吗
1.DNS解析:浏览器会检查缓存中是否有目标主机的IP地址。如果没有,则会向本地DNS服务器发送DNS查询请求,查询目标主机的IP地址。2.TCP三次握手建立客户端和服务器的连接浏览器通过使用HTTP协议的默认端口(80)或HTTPS协议的默认端口(443)与目标服务器建立TCP连接。深入了解tcp三次握手见:TCP三次握手问题详解_抱着乌龟看大海的博客-优快云博客3.发起HTTP请求:浏览器通过TCP连接向服务器发送HTTP请求。请求消息包含请求方法(如GET、POST)、要访问的资源路径、HTTP头部
2023-08-04 17:38:27
50
1
原创 TCP四次挥手问题详解
与之前需要三次握手的原因类似,如果只是三次挥手,那就相当于服务器端发送完第三次挥手的报文后直接进入CLOSED(关闭)状态,假如此时网络出现问题,丢失了第三次挥手的报文,相当于客户端没有收到,那他依旧认为连接没有结束,在一段时间没有收到第二次ACK应答报文后,他会重新发送请求断开连接的报文,但是服务器端已经关闭,不会再接收报文,又形成了类似死锁的情况。
2023-08-01 11:32:05
166
1
原创 js实现继承的几种方式
父类所有的引用类型数据 (对象,数组) 会被子类共享更改一个子类的数据,其他数据会受到影响,一起变化。会调用两次父类的构造函数,会有两份一样的属性和方法,影响性能,造成了不必要的消耗。核心思想: 组合继承 + 原型继承结合两者的优点。子类不能访问父类原型属性(Person.prototype)上的方法和参数。父类的引用类型的数据 (对象,数组) 不会被子类共享,不会相互影响。由于方法定义在父类的原型上,复用了父类构造函数原型上的方法。父类构造函数中引用类型的数据 (对象,数组) 不会被子类共享。
2023-07-25 21:21:48
39
原创 JS的原型与原型链(看图理清关系,清晰明了)
基于原型对象的继承使得不同构造函数的原型对象关联在一起,并且这种关联的关系是一种链状的结构,我们将原型对象的链状结构关系称为。是两个不同的函数实例,虽然方法的定义是相同的,但是它们在内存中的地址不同。是两个不同的函数实例,虽然方法的定义是相同的,但是它们在内存中的地址不同。是两个不同的函数实例,虽然方法的定义是相同的,但是它们在内存中的地址不同。一直找到最顶层为止。指向的是原型对象本身,而原型对象并没有定义属性。是原型对象中的方法,原型对象本身并没有属性。是原型对象中的方法,而原型对象中的代码。
2023-07-24 00:04:43
91
原创 由浅入深的了解this 指向
全局this定为指向window(一般是在浏览器环境讨论)。由浅入深的从默认绑定,隐式绑定,显示绑定,new的绑定带你掌握this的指向问题。手把手教你call(),bind(),apply()的用途和区别
2023-07-20 22:44:28
57
原创 由浅入深的理解JavaScript 执行机制/执行上下文
通过js中的变量提升,块级作用域,作用域链,闭包来理解JavaScript 执行机制/执行上下文
2023-07-19 21:22:05
77
原创 TS类型使用问题总结
平时使用ta开发过程中,定义简单类型变量,如布尔值,数字,字符串等等,直接定义使用即可,因为ts内部有类型推断机制。但在定义复杂类型变量时,建议使用类型断言给其一个默认值,这样可以规避很多ts类型检查机制的错误。
2023-06-07 11:27:14
608
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人