自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

前端-CV全粘工程师

有我就cv,没有我就自己写了再cv

  • 博客(150)
  • 收藏
  • 关注

原创 【java链表】

Java链表(LinkedList)是一种数据结构,用于存储和操作一系列数据元素。链表是由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的引用(指针)。然而,链表的缺点是访问任意位置的元素比较慢,需要从头遍历到目标位置。另外,链表需要额外的存储空间来保存指针。因此,对于频繁的随机访问操作,数组可能更加高效。在Java中,可以通过java.util.LinkedList类来使用链表。可以使用LinkedList类的方法来执行插入、删除、检索等操作。

2024-03-04 15:35:01 165

原创 【java中映射是什么如何使用】

然后,可以通过实例化Map类的具体实现类来创建一个映射对象。映射还提供了其他常用的方法,如remove()用于删除键值对、keySet()返回所有键的集合、values()返回所有值的集合等。在Java中,映射(Map)是一种存储键值对(key-value)的数据结构。以上介绍了如何创建一个映射对象,并向映射中添加键值对、查找值、删除键值对等操作。根据具体需求,还可以使用其他方法对映射进行操作。上面的代码创建了一个HashMap映射,其中键的类型是String,值的类型是Integer。

2024-03-04 15:33:13 248

原创 【java堆栈】

栈帧按照"后进先出"(LIFO)的原则进行管理,也就是说,最后一个进入栈的帧会最先出栈。在Java中,所有通过关键字"new"创建的对象都存储在堆中。堆中的对象可以被多个引用变量指向,当没有引用指向时,垃圾回收器会自动回收这些对象以释放内存。在这个例子中,使用关键字"new"在堆中创建了一个Person对象,并将其地址分配给名为"p"的引用变量。引用变量"p"在栈中分配内存空间来存储堆中对象的地址。这样,通过引用变量"p"可以访问和操作堆中的Person对象。

2024-03-04 15:26:56 200

原创 【java数组】

这些是Java数组的基本定义和使用形式,可以根据具体需求选择适合的方式进行定义和使用。Java数组是一种用于存储相同类型数据的容器。可以存储基本数据类型和引用数据类型。在Java中,有两种数组的形式:一维数组和多维数组。

2024-03-04 14:33:17 283

原创 【java类的使用,及注意事项】

Java类的使用是通过创建对象来调用类的方法和访问类的属性。首先,要在Java中创建一个类,需要使用关键字class,然后给类一个名称,并在代码块中定义类的属性和方法。要使用这个类,在其他地方(比如另一个类或主方法)创建一个MyClass的对象,并通过这个对象调用类的方法和访问类的属性。总之,Java类的使用是面向对象编程的核心,要注意类的命名规范,控制访问权限,正确创建对象,并处理可能的异常情况。在这个示例中,我们创建了一个MyClass对象,并通过调用对象的方法来改变属性的值和获取属性的值。

2024-03-04 14:14:58 173

原创 【Java中定义类的基本语法】

以上就是在Java中定义类的基本语法。类是面向对象编程的核心概念,用于封装数据和行为,实现代码的模块化和复用。

2024-03-04 14:12:06 244

原创 【数据库数据类型】

以上只是MySQL数据库中的一些常用数据类型,还有其他一些数据类型供选择,具体使用时可根据需求选择合适的数据类型和长度。

2024-02-27 15:09:48 358

原创 【java中的方法如何定义与使用】

或者无修饰符,用来表示方法的访问级别。返回值类型表示方法执行完后返回的数据类型,可以是任意数据类型(包括基本数据类型和引用数据类型),如果方法不返回任何值可以使用。方法名是一个标识符,用来唯一标识一个方法。参数列表是一组用逗号分隔的参数,每个参数包括参数类型和参数名称。(可选,表示该方法是公有的,可以被其他类访问)、返回值类型、方法名、参数列表以及方法体。方法的使用需要通过方法名加上一对小括号来调用,并可根据方法的定义类型接收返回值。在Java中,方法的定义需要使用关键字。类型的参数并返回它们的和。

2024-02-23 17:19:44 218

原创 【java 变量】

在声明变量时,需要指定变量的类型,并为其分配一定的内存空间。引用数据类型的变量存储的是对象的引用,而不是对象本身,通过引用可以访问和操作对象的属性和方法。// 将变量salary赋值为5000.0。// 声明一个浮点类型的变量名为salary。// 声明一个字符串类型的变量名为name。double if;// 非法的变量名,使用了Java的关键字if。// 将变量name赋值为Tom。// 声明一个整数类型的变量名为age。// 将变量age赋值为18。注意:变量的作用域是指变量在程序中的可见范围。

2024-02-23 17:14:38 449

原创 【java 数据类型有哪些,如何定义】

Java中的数据类型分为两大类:基本数据类型和引用数据类型。可以通过直接赋值或者调用构造方法来初始化对象的值。定义引用数据类型的变量需要使用关键字。

2024-02-23 17:04:51 144

原创 【TS函数定义及参数注解】

使用function关键字,后面跟着函数名,参数列表和函数体。上述代码定义了一个函数add,它接收两个number类型的参数a和b,并返回它们的和。函数的调用使用函数名后面跟着参数列表的方式。// 输出 5上述代码调用了定义好的add函数,并将两个参数2和3传递给它。函数执行后会返回结果5,并将结果赋值给变量result。最后,使用函数输出结果。可以在函数的定义中使用冒号()来指定参数的类型,以及使用箭头(=>)来指定函数的返回类型。

2024-02-01 14:52:25 611

原创 【TypeScript 数据类型】

在 TypeScript 中,可以使用。是一个数字类型的变量,初始值为 10。符号来指定变量的类型。

2024-02-01 14:42:05 214

原创 【JS 于TS的区别与联系】

总结起来,JavaScript和TypeScript都是用于Web开发的语言,JavaScript更灵活,可以在不同的平台上运行,而TypeScript更适合开发大型复杂的应用程序,提供了更好的代码组织和错误检查。由于TypeScript是在JavaScript之上构建的,因此可以轻松地将JavaScript库和框架与TypeScript一起使用。TypeScript是基于JavaScript的超集,也就是说,所有有效的JavaScript代码都是有效的TypeScript代码。

2024-02-01 14:36:56 300

原创 【navigator.userAgent属性】

navigator.userAgent属性判断浏览器环境,判断网页处于手机端还是PC端,判断手机系统类型,是安卓还是IOS

2024-02-01 14:30:14 509

原创 【移动端vant 地址选择滑动不了】

因为vant中的弹窗组件都会有个默认参数,打开弹窗时禁止页面滚动,这个可以解决滚动穿透的问题,但是像我们这种弹窗中有地址选择的就会出现地址无法选择的bug。H5页面直接在浏览器打开是没有任何问题的,但是内嵌到小程序中就会出现,目前已出现在抖音,快手,小程序中,其他的没有试。这个bug出现得同时具备几大要素:1.内嵌H5,2,地址选择之前有使用过弹窗,设置lock-scroll为false。设置lockScroll为false。1.Overlay 遮罩层。2.Dialog 弹出框。

2023-12-07 16:00:43 602

原创 【python openpyxl读取excel】

要读取Excel文件,您需要使用Python中的openpyxl库。这是一个流行的库,用于读取,写入和处理Excel文件。这将打开名为“example.xlsx”的Excel文件,并读取第一个工作表的第一个单元格的值。在此示例中,我们将值打印到控制台中。首先,您需要安装openpyxl库。循环来遍历整个工作表,并使用与上面相同的方法读取每个单元格的值。

2023-12-05 11:30:47 516

原创 【python 爬取接口数据】

解析接口返回的数据,可以使用 Python 中的 json 库将返回的 JSON 数据转换为 Python 对象,或者使用 BeautifulSoup 库解析 HTML 数据。需要注意的是,在爬取数据时需要遵守网站的 robots.txt 规则,不要频繁请求接口以防止被封禁 IP。根据网站的接口文档,我们可以确定要访问的接口地址:https://www.example.com/api/products。确定要爬取的接口,并根据接口文档了解其请求参数、请求方式和返回数据格式等信息。

2023-12-04 14:54:56 1194

原创 python控制网页操作

Selenium webdriver是一种自动化测试工具,可以使用它来模拟用户在浏览器上执行的操作。使用Selenium webdriver,可以打开一个浏览器窗口,访问一个网站,填写表单,点击链接或按钮等等。可以使用Python编写Selenium webdriver测试脚本。除此之外,还可以使用Selenium webdriver模拟鼠标、键盘等操作,以及获取网页内容、截图等功能。使用Python控制网页操作可以使用Selenium webdriver。

2023-12-04 11:18:19 794

原创 【python 常用框架】

首先,你需要安装Python,可以在Python官网下载(https://www.python.org/downloads/)选择适合自己操作系统的版本进行安装。Python 拥有很多框架,用于不同的目的和需求。每个框架都有自己的优点和适用场景,开发者需要根据自己的需求和技能水平选择合适的框架。以上是Flask框架的基本使用方法,我先去玩玩,玩会了我再更新一波。

2023-12-01 15:39:13 424

原创 【python 条件判断】

其中,condition为需要判断的条件,error_message为断言失败时出现的错误信息。

2023-12-01 10:49:09 397

原创 【Python常用的循环】

Python 中有多种类型的循环语句,通常情况下,使用哪种循环取决于迭代对象的类型和循环的逻辑需要。以上是 Python 中常用的循环语句及其使用方法。需要根据具体情况选择合适的循环语句。

2023-12-01 10:41:38 409

原创 【python函数定义】

Python函数是一段可重用代码块,它接受一些输入(参数),执行一些计算,并返回结果(输出)。需要注意的是,在Python中函数定义块内缩进一定要正确,否则会引发语法错误。

2023-12-01 10:33:40 378

原创 【python定义变量与常量】

在 Python 中,变量是用来存储数据的标识符。Python 变量的命名规则与其他编程语言相同,变量名必须以字母或下划线开头,可以包含字母、数字和下划线,并且对大小写敏感。Python 中没有严格的常量定义方式,但可以通过约定俗成的方式来定义常量,通常使用大写字母来表示常量。在 Python 中,变量的定义非常简单,只需要使用“=”符号将值赋给变量即可。在程序中使用常量时,应该避免修改其值。如果希望防止修改常量的值,可以使用。

2023-12-01 09:59:21 370

原创 【Python基本数据类型】

Python 还支持类型转换,可以通过函数进行类型转换,如int()、float()、str()等。

2023-12-01 09:55:12 350

原创 【vue 如何解决响应式丢失】

对数组和对象进行不当的修改:对于数组和对象,只有使用 Vue 提供的一些方法(如 push()、pop()、splice()、set() 等)进行修改才会触发响应式更新。使用非响应式对象或属性:在 Vue 中,只有使用 Vue 实例的 data 对象中的属性或使用 Vue.set() 方法添加的属性才是响应式的。在使用 Vue 的异步更新机制(如 nextTick())时,应该避免在回调函数中对数据进行修改,否则可能会出现响应式丢失的问题。对数组和对象只使用 Vue 提供的一些方法进行修改。

2023-11-13 10:42:14 710

原创 【JS 判断数组是否包含某个元素】

【代码】【JS 判断数组是否包含某个元素】

2023-11-08 17:42:04 227

原创 【vue 下载方法】

方法中通过判断浏览器类型,使用不同的下载方式。对于IE浏览器,使用。方法,生成一个不同于原始文件URL的URL,然后调用。方法打开一个新窗口下载;对于其他浏览器,使用。方法用于创建一个下载链接并模拟点击下载,

2023-11-01 10:17:16 195

原创 【HTTP版本,HTTP2和HTTP3区别】

多路复用:HTTP/2中支持多路复用,即在一个TCP连接上同时进行多个请求和响应,而HTTP/3在QUIC协议的基础上进一步改进了多路复用,不仅能够实现多个请求和响应的复用,还支持并行发送多个数据流。而HTTP/3使用了QUIC协议,它能够避免流阻塞的问题。连接建立和关闭:HTTP/2使用TLS握手来建立连接,而HTTP/3中使用QUIC的连接建立和关闭机制,它能够更快地建立和关闭连接。综上所述,HTTP/3相对于HTTP/2来说在连接建立和关闭、多路复用、阻塞等方面进行了改进,提升了传输效率和安全性。

2023-10-09 17:50:28 819

原创 【VUE3 Teleport】

通过将Teleport组件放置在要移动的DOM树上并指定TeleportTarget目标,可以将DOM节点移动到TeleportTarget的位置。Teleport的源码分析可以参考Vue.js3.0的官方文档中的Teleport部分,该文档提供了Teleport的API和实现原理。该示例演示了如何在实际项目中使用Teleport来动态渲染组件。在这个例子中,我们使用了Teleport和TeleportTarget组件来将“hello world”文本插入到TeleportTarget的位置。

2023-10-09 17:40:50 131

原创 【JS原型链,常见的修改原型对象的方法有哪些?】

JavaScript中每个对象都有一个内部属性[[Prototype]]指向它的原型对象,原型对象也是一个对象,也有自己的原型,这样一直往上追溯形成了原型链。原型链的作用是实现对象之间的继承和属性共享。当我们访问一个对象的属性时,如果这个对象本身没有这个属性,它就会沿着原型链向上查找,直到找到该属性或者到达原型链的末尾。JavaScript中的每个函数都有一个prototype属性,它是一个对象,它的主要作用是存储实例对象共享的属性和方法。

2023-10-08 17:47:12 399

原创 【Vue3.0 实现一个 Modal】

在上面代码中,可以看得到除了使用传统emit的形式使父组件监听,还可通过_hub属性中添加 on-cancel,on-confirm方法实现在API中进行监听。现在有一个场景,点击新增与编辑都弹框出来进行填写,功能上大同小异,可能只是标题内容或者是显示的主体内容稍微不同。这样,下次开发相同界面程序时就可以写更少的代码,意义着更高的开发效率,更少的 Bug和更少的程序体积。在Vue2中,我们可以借助Vue实例以及Vue.extend的方式获得组件实例,然后挂载到body上。

2023-10-07 18:26:13 306

原创 【Pinia和Vuex区别】

类的源码是最为关键的部分,它使用了Vue 3的响应式系统来实现了状态的管理和更新。同时,它还提供了一些方便的API来处理常见的状态管理需求,例如模块化、订阅等。Vuex采用了全局单例模式,通过一个store对象来管理所有的状态,组件通过store对象来获取和修改状态。Pinia则采用了分离模式,即每个组件都拥有自己的store实例,通过在组件中创建store实例来管理状态。Pinia的源码相对较为简单,主要是通过Vue的provide/inject实现store实例的分发和共享。方法来实现数据的传递。

2023-10-05 19:46:13 318

原创 【JS如何实现继承?】

【代码】【JS如何实现继承?

2023-10-05 19:32:46 219

原创 【什么是闭包? 闭包产生的原因? 闭包有哪些表现形式?】

闭包是指一个函数可以访问并操作在其作用域之外的变量的能力。在 JavaScript 中,每当函数被创建时,就会创建一个闭包。// 输出 8在这个例子中,add函数返回一个新的函数,新函数可以访问add函数的参数x。addThree是一个闭包,它存储了add(3)返回的函数以及x的值,因此调用就会返回3 + 5 = 8。闭包在许多 JavaScript 库和框架中都得到了广泛的应用,它们可以用来实现许多高级功能,例如封装私有变量、延迟计算、事件监听和函数柯里化等。

2023-10-05 19:28:41 349 2

原创 【手写 Promise 】

接下来,我们需要定义一个 Promise 构造函数,它需要一个执行器函数作为参数。执行器函数接受两个参数 resolve 和 reject,它们是两个函数,用于修改 Promise 的状态。在构造函数中,我们定义了 Promise 的状态和值。onResolvedCallbacks 和 onRejectedCallbacks 数组用于存储 then 方法中传入的回调函数,当 Promise 的状态改变时,我们需要依次执行这些回调函数。

2023-10-04 20:10:50 114

原创 从您输入网站 URL 到其在屏幕上完成加载的整个过程

如果请求的网页中包含其他资源(例如图片、CSS 或 JavaScript 文件),浏览器会向服务器发出额外的请求以获得这些资源。用户输入网站 URL(例如,http://www.example.com)并按下“Enter”键。整个过程的时间取决于多种因素,例如用户的互联网连接速度、服务器性能和网页的大小和复杂性。网络协议根据 URL 中的信息确定要访问的服务器 IP 地址。服务器收到请求,并将所请求的网页返回给用户的浏览器。浏览器将这些资源组合起来,以完成网页的渲染。服务器返回每个请求的资源。

2023-10-04 20:05:43 258

原创 【浏览器缓存机制】

协商缓存是指在缓存过期后,浏览器再次请求相同的资源时,会向服务器发送请求,并获取该资源的最新修改时间或唯一标识。总的来说,强缓存是直接使用浏览器本地缓存,不需要与服务器进行通信,而协商缓存需要先与服务器进行一次通信,判断资源是否发生了变化,再决定是否使用本地缓存。强缓存是指在缓存有效期内,浏览器再次请求相同的资源时,直接从本地缓存中读取,不需要向服务器发送请求。协商缓存和强缓存都是浏览器缓存机制的一部分,但它们的实现方式和缓存过程有所不同。常见的浏览器缓存机制有两种:强缓存和协商缓存。

2023-10-04 19:59:31 104

原创 【git常用命令以及工作中都怎么工作】

常用命令:工作流程:

2023-10-04 19:55:23 215

原创 【vue 首屏加载优化】

使用 Vue SSR(服务端渲染):SSR 可以将 Vue 组件在服务端直接渲染为 HTML,然后再将渲染结果发送到客户端,这样可以大大缩短首屏加载时间。Vue 首屏加载优化指的是通过一系列的技术手段,尽可能地缩短首屏(即页面中可见的部分)的加载时间,提高用户体验。配置 webpack 的代码分割:将代码按照不同的功能或页面进行分割,提高首屏加载速度。使用懒加载:将页面中的图片、视频等资源分割成多个部分,只有在用户需要访问的时候才加载。使用异步组件:将页面中的某些组件异步加载,可以降低首屏加载所需的时间。

2023-10-04 18:56:59 391

原创 【描述一下 V8 执行一段JS代码的过程?】

优化:在代码执行期间,V8 还可以通过一些方法进行优化,例如,动态地重编译代码以提高执行速度,以及使用 JIT(Just-In-Time)编译器来编译热点代码以提高性能。执行代码:最后,V8 执行代码。词法分析:V8 首先读取 JS 代码,并将其分解成单个的标记或词汇单元(tokens),这些 tokens 是构建语言语法的基本元素。预编译(预处理):在执行代码之前,V8 还需要执行一些预编译步骤。总的来说,V8 的执行过程可以概括为:词法分析、语法分析、预处理、执行代码和优化。

2023-10-04 18:55:23 136

CSS弹性盒模型常用布局

基于弹性盒模型封装的布局,引入后直接使用class名就行

2023-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除