自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(276)
  • 资源 (1)
  • 收藏
  • 关注

原创 React 18.x 学习计划 - 第十天:React综合实践与项目构建

总时长:8-9小时

2025-12-23 16:48:46 578

原创 React 18.x 学习计划 - 第九天:React 18高级特性和最佳实践

/ React 18的主要变化包括:// 1. 并发渲染(Concurrent Rendering)// 2. 自动批处理(Automatic Batching)// 3. Suspense改进// 4. 新的Hooks:useTransition、useDeferredValue、useId、useSyncExternalStore// 5. 服务端渲染改进// 升级到React 18的步骤// 1. 安装React 18// 2. 更新入口文件。

2025-12-12 11:06:44 461

原创 React 18.x 学习计划 - 第八天:React测试

【代码】React 18.x 学习计划 - 第八天:React测试。

2025-11-14 10:19:17 313

原创 React 18.x 学习计划 - 第七天:React性能优化

【代码】React 18.x 学习计划 - 第七天:React性能优化。

2025-11-06 17:05:25 936

原创 React 18.x 学习计划 - 第六天:React路由和导航

【代码】React 18.x 学习计划 - 第六天:React路由和导航。

2025-10-31 11:45:29 644

原创 React 18.x 学习计划 - 第五天:React状态管理

总时长:8-9小时用户认证Context(详细注释版)1.2 高级Context组合多层Context组合(详细注释版)1.3 Context性能优化性能优化Context(详细注释版)第二部分:Redux Toolkit完整生态 (3小时)2.1 高级Redux配置完整Store配置(详细注释版)2.2 高级Slice模式异步Thunk模式(详细注释版)2.3 自定义中间件认证中间件(详细注释版)日志中间件(详细注释版)错误中间件(详细注释版)第三部分:其

2025-10-21 09:58:54 435

原创 React 18.x 学习计划 - 第四天:React Hooks深入

/ 导入React和useState Hook// 定义自定义useCounter Hook// 自定义Hook是一个以"use"开头的函数,可以调用其他Hook// 使用useState Hook管理计数状态// 定义增加计数的函数// 定义减少计数的函数// 定义重置计数的函数// 定义设置计数的函数// 返回状态和函数// 自定义Hook可以返回任何值return {count,increment,decrement,reset,

2025-10-17 12:08:24 722

原创 React 18.x 学习计划 - 第三天:React基础概念

能够创建React项目,理解组件和Props的概念,掌握JSX语法,能够处理事件,完成所有练习题目。

2025-09-25 09:59:03 1035

原创 React 18.x 学习计划 - 第二天:ES6高级语法

总时长:5-6小时模板字符串的高级用法1.2 标签模板1.3 实际应用示例第二部分:ES6模块化系统 (1.5小时)2.1 模块基础创建模块文件导入模块2.2 高级模块特性动态导入模块重新导出2.3 模块化项目结构第三部分:类和继承 (1.5小时)3.1 类的基础语法3.2 继承和多态3.3 抽象类和接口模式3.4 混入模式第四部分:Promise和异步编程 (1小时)4.1 Promise基础4.2 async/await语法4.3

2025-09-24 11:06:59 412

原创 React 18.x 学习计划 - 第一天:ES6基础语法

记住,学习编程最重要的是多动手实践!每个代码示例都要亲自运行一遍,理解每一行代码的作用。我已经为你生成了第一天的完整学习内容。创建一个完整的用户管理系统,练习所有今天学到的ES6语法。

2025-09-24 10:28:14 874

原创 React 18.x 完整学习计划

我已经为你制定了一个完整的React 18.x学习计划!这个计划包含8个阶段,总共12-16周的学习时间,每个阶段都有详细的学习内容、实践项目和检查点。这个学习计划将帮助你从React初学者成长为能够独立开发复杂应用的React开发者。记住,学习编程最重要的是多实践,多写代码!可以根据自己的时间安排调整学习进度,但建议不要跳过任何阶段,因为每个阶段都是后续学习的基础。

2025-09-24 09:56:26 813

原创 单线程的 JavaScript 如何管理任务

要怎么理解 JavaScript 是单线程这个概念呢?大概需要从浏览器来说起。JavaScript 最初被设计为浏览器脚本语言,主要用途包括对页面的操作、与浏览器的交互、与用户的交互、页面逻辑处理等。如果将 JavaScript 设计为多线程,那当多个线程同时对同一个 DOM 节点进行操作时,线程间的同步问题会变得很复杂。因此,为了避免复杂性,JavaScript 被设计为单线程。这样一个单线程的 JavaScript,意味着任务需要一个接一个地处理。

2025-09-17 17:23:14 919

原创 JS引擎如何执行 JavaScript 代码

在 V8 引擎中 JavaScript 代码的运行过程主要分成三个阶段:语法分析阶段。该阶段会对代码进行语法分析,检查是否有语法错误(SyntaxError),如果发现语法错误,会在控制台抛出异常并终止执行。编译阶段。该阶段会进行执行上下文(Execution Context)的创建,包括创建变量对象、建立作用域链、确定 this 的指向等。每进入一个不同的运行环境时,V8 引擎都会创建一个新的执行上下文。执行阶段。

2025-09-17 16:12:20 1102

原创 跨域的几种方案

因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名、端口有一个不同就是跨域,Ajax 请求会失败。我们可以通过以下几种常用方法解决跨域的问题。

2025-05-14 16:05:55 1078

原创 webpack原理

初始化参数:从配置文件和 Shell 语句中读取并合并参数,得出最终的配置参数。开始编译:从上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,执行对象的 run 方法开始执行编译。确定入口:根scope据配置中的 entry 找出所有的入口文件。编译模块:从入口文件出发,调用所有配置的 loader 对模块进行翻译,再找出该模块依赖的模块,这个步骤是递归执行的,直至所有入口依赖的模块文件都经过本步骤的处理。

2025-05-12 09:36:46 1786

原创 JS之继承

原型如何实现继承?Class 如何实现继承?Class 本质是什么?首先先来讲下 class,其实在 JS中并不存在类,class 只是语法糖,本质还是函数。

2025-05-09 11:36:56 1136

原创 JS中类型及检测方式

其中的代码空间主要是存储可执行代码的,原始类型(Number、String、Null、Undefined、Boolean、Symbol、BigInt)的数据值都是直接保存在“栈”中的,引用类型(Object)的值是存放在“堆”中的。因此在栈空间中(执行上下文),原始类型存储的是变量的值,而引用类型存储的是其在"堆空间"中的地址,当 JavaScript 需要访问该数据的时候,是通过栈中的引用地址来访问的,相当于多了一道转手流程。而对于其他对象,则需要通过 call 来调用,才能返回正确的类型信息。

2025-05-08 10:14:39 1061

原创 Vue 响应式原理

Vue记录传入的选项,设置datadata/datael把 data 的成员注入到 Vue 实例负责调用 Observer 实现数据响应式处理(数据劫持)负责调用 Compiler 编译指令/插值表达式等Observer数据劫持负责把 data 中的成员转换成 getter/setter负责把多层属性转换成 getter/setter如果给属性赋值为新对象,把新对象的成员设置为 getter/setter添加 Dep 和 Watcher 的依赖关系。

2025-05-07 10:08:28 1377

原创 使用 ECharts 与 Vue 构建数据可视化组件

props: {source: {},tooltip: {},xName: {},yName: {},},type: {},},props是 Vue 组件用于接收父组件传递数据的属性。source: 必填,表示图表的数据源,可以是数组或对象。tooltip: 用于显示自定义的提示信息,默认为空数组。xName和yName: 分别为 X 轴和 Y 轴的名称。: 布尔值,控制图例是否为单选。type: 图表的类型,如线图、柱状图等。

2024-12-26 19:47:11 1354

原创 Nginx配置:如何在一个域名下运行两个网站

通过Nginx,我们可以非常轻松地将多个Web应用部署在同一个域名下,无论是通过不同的路径,还是通过子域名。本文的示例展示了如何配置两个网站共用一个域名,并详细解释了每个配置项的作用。在实际的生产环境中,需要考虑更多的细节,比如SSL加密、缓存优化、负载均衡等,这些都是Nginx能够提供的强大功能。

2024-12-25 08:54:30 3074

原创 Map、weakMap,Set、weakSet的使用与区别(超详细)

在JavaScript中,SetMapWeakSet和WeakMap是非常有用的数据结构。每种结构都有独特的应用场景,并提供了一组API来操作和遍历其中的数据。本文将详细介绍这些数据结构的应用场景、API及其遍历方法。

2024-12-23 17:49:37 1084

原创 对象、函数、原型之间的关系

在 JavaScript 中,一切皆对象。对象是包含属性和方法的容器。属性可以是基本数据类型,如字符串、数字等;方法则是一个可以执行的函数。name: "浮游",age: 20,// 浮游// Hello, I am 浮游上面的person是一个对象,它包含了两个属性name和age,以及一个方法greet。JavaScript 中的函数实际上也是对象。与其他对象不同的是,函数对象可以被调用。prototype和__proto__。// true可以看出,函数本质上是对象,具有对象的一些特性。

2024-12-20 15:42:14 1300 1

原创 Egg.js 项目中实现邮件发送功能

通过本文的介绍,你应该已经掌握了在Egg.js项目中集成邮件发送功能的基本方法。这一功能可以极大地增强你的Web应用的用户交互体验,特别是在涉及通知、提醒、验证等功能时。

2024-12-18 14:21:08 2744

原创 前端组件化

浏览器提供了一个 customElements.define() 方法,允许我们定义一个自定义元素和它的行为,然后在页面中使用。// 必须首先调用 super方法super()// 元素的功能代码写在这里')上面的代码使用 customElements.define() 方法注册了一个新的元素,并向其传递了元素的名称 custom-button、指定元素功能的类 CustomButton。

2024-10-31 09:36:21 814

原创 初识Docker

Docker是一个开源的平台,用于开发、交付和运行应用程序。它通过容器化技术将应用程序及其依赖项打包在一起,从而解决了“在我的电脑上没问题”的环境一致性问题。容器是轻量级的、独立的、可执行的包,其中包含运行应用程序所需的所有内容,包括代码、运行时、库和系统工具。Docker为前端开发者提供了强大的工具,可以极大地提高开发效率和环境一致性。

2024-10-30 15:57:57 866

原创 实现微信H5分享功能

在这篇文章中,我们将详细探讨如何在Vue2项目中实现和调试微信H5分享功能。这包括后端的签名生成、前端的JS-SDK配置以及调试步骤。

2024-10-29 15:13:22 2559

原创 HTML5和CSS3的新特性

在这篇博文中,我们将全面深入地探索 HTML5 和 CSS3 的新增特性。这些特性不仅为前端开发带来了新的可能性,也极大地提升了用户体验和网页性能。

2024-10-28 15:09:19 1395

原创 深入探索JavaScript异步编程:Promise与async/await的实现原理与应用

在深入async/await之前,我们需要先回顾一下Promise。Promise是一个代表了异步操作最终完成或失败的对象。它解决了回调地狱(Callback Hell)的问题,使得异步操作可以像同步操作那样链式调用。// 异步操作// 成功处理// 错误处理});尽管Promise大大改善了异步代码的结构,但在处理复杂的业务逻辑时,仍然可能出现多层嵌套的.then()调用,这使得代码的可读性和可维护性受到了挑战。Generator函数是ES6引入的一种异步编程解决方案,它可以通过yield。

2024-10-18 14:26:22 888

原创 JavaScript模块化深入解析:掌握Import、Export与Require的艺术

理解和掌握JavaScript中不同的模块导入导出方法对于开发现代JavaScript应用程序是非常重要的。无论是前端还是Node.js开发,合理使用模块化技术可以大大提高代码的可维护性和可扩展性。在选择使用importrequire()或其他导入导出方式时,开发者应根据应用的需求和执行环境来做出最佳选择。

2024-09-24 10:47:08 822 2

原创 关于考试监听切屏的三种方式

在数字化考试中,防作弊是一项重要任务,而防切屏技术是确保考试公正性的关键措施之一。pageshow和pagehide事件、窗口焦点变化监听(和),以及全屏模式,并分析各自的利弊,并结合具体的代码实现,来展示如何在Web应用中融入这些技术。

2024-09-24 10:07:35 3787

原创 在模板字符串中不能使用element-ui组件

在Vue.js中,直接在模板字符串中使用Element-UI组件是不可行的。这是由于模板字符串在Vue编译过程中不会被解析和处理,而Vue组件和指令需要通过Vue的编译器来解析才能生效。下面将详细解释这一限制,并提供一些替代方案,以便在动态HTML内容中使用Vue组件。

2024-09-23 11:09:23 1020

原创 JSON.parse(JSON.stringify())实现深拷贝的原理

在现代编程实践中,深拷贝是一种常见的需求,尤其是在处理复杂的数据结构时。深拷贝指的是创建一个新对象,并递归复制原对象的所有属性和嵌套对象,使得新旧对象之间不共享任何子对象。是实现深拷贝的一种简便方法,但这种方法并非没有缺陷。接下来,我们将详细探讨这种方法的工作原理、局限性以及如何实现一个更为完善的深拷贝函数。

2024-09-23 11:08:00 766

原创 深入了解package.json文件

通过对文件的详细解析,可以看到它在项目管理中发挥着重要的作用。正确配置和使用文件,可以大大提高项目的构建、发布和维护的效率。希望这篇文章能帮助我们更好地理解和使用文件,使项目开发更加顺利。

2024-09-20 10:41:31 1489

原创 在TypeScript中为什么应该使用Type而不是Interface

使用Type可以定义联合类型,而Interface则无法做到这一点。// 使用Type定义联合类型// 使用Interface无法直接定义联合类型// 需要使用Type来实现相同的效果。

2024-08-29 09:41:45 365

原创 this 关键字的绑定类型

绑定的原理和优先级,可以帮助开发者更精确地控制函数执行时的上下文环境,提高代码的可读性和可维护性。在JavaScript中,当一个函数可以通过多种方式被调用时,的指向取决于函数的调用方式,而不是定义方式。关键字的指向对于编写高质量的代码至关重要。在JavaScript中,理解。绑定情形及其工作原理的解析。

2024-08-28 14:47:11 389

原创 在Vue2中使用WebSocket

WebSocket是一种通信协议,能够在客户端和服务器之间建立全双工通信通道。与传统的HTTP请求不同,WebSocket允许服务器主动向客户端发送数据,从而实现实时通信。本文将详细介绍如何在Vue2项目中集成和使用WebSocket,并通过具体代码示例演示其使用方法。

2024-08-27 09:46:40 3649 1

原创 vue中实现图片裁剪

通过以上代码,我们实现了一个基于Vue.js和Cropper.js的图片裁剪组件,用户可以上传图片并进行裁剪操作,最终获取裁剪后的图片数据。这个组件可以方便地集成到Vue.js应用中,为用户提供了良好的图片处理体验。

2024-08-26 10:32:49 1030

原创 前端代码小技巧

在日常工作中,我们经常会遇到需要处理一些细节功能的情况,这些功能虽小,但掌握一些巧妙的处理方法可以极大地提高工作效率。以下是几个实用的小技巧,它们可以帮助我们更好地完成任务。

2024-08-22 16:00:04 247

原创 CSS :has() 选择器的使用

has() 选择器的引入,为CSS提供了更多的灵活性和强大的选择能力。通过上述实际应用案例,我们可以看到,:has() 选择器在处理复杂布局和动态内容时,能够提供更加精准和灵活的样式控制方案。随着浏览器支持度的提高,:has() 选择器的应用场景将会越来越广泛,为前端开发带来更多的可能性。

2024-07-31 10:08:28 796

原创 页面根据sse返回的流,逐句展示内容,达到gpt效果

之前的文章里,我写到了关于怎么获取sse中的流,但是缺少逐句展示的效果,这次来补齐。比如这种,实现难点在于,当返回的markdown语法,不是完整的语句时,展示的代码块会错乱。

2024-07-30 09:40:29 1242

GaussDB独立板块.xmind

GaussDB独立板块.xmind

2021-12-28

空空如也

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

TA关注的人

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