自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 浏览器渲染原理(web前端底层核心-深入理解回流和重绘)

解析过程中遇到 CSS 解析 CSS,遇到 JS 执行 JS。为了提高解析效率,浏览器在开始解析前,会启动一个预解析的线程,率先下载 HTML 中的外部 CSS 文件和 外部的 JS 文件。如果主线程解析到`link`位置,此时外部的 CSS 文件还没有下载解析好,主线程不会等待,继续解析后续的 HTML。这是因为下载和解析 CSS 的工作是在预解析线程中进行的。这就是CSS 不会阻塞 HTML 解析的根本原因。

2024-02-24 21:38:27 978

原创 关于事件循环和异步(WEB前端底层核心-JS的运行机制)

事件循环⼜叫做消息循环,是浏览器渲染主线程的工作方式。在 Chrome 的源码中,它开启⼀个不会结束的 for 循环,每次循环从消息 队列中取出第⼀个任务执行,而其他线程只需要在合适的时候将任务加入到队列末尾即可。过去把消息队列简单分为宏队列和微队列,这种说法目前已无法满足复杂的浏览器环境,取而代之的是⼀种更加灵活多变的处理方式。根据 W3C 官方的解释,每个任务有不同的类型,同类型的任务必须在同⼀ 个队列,不同的任务可以属于不同的队列。

2024-02-22 23:09:23 668 1

原创 Html + Css 核心知识 - flex (超详细)

Flex布局是一种用于创建灵活、。它提供了一种简单而强大的方式来对齐和分布元素,特别适用于构建响应式和移动端友好的布局。

2024-02-01 18:13:38 1535 1

原创 Vue核心知识点 - VueX

vue 是为 Vue.js 应用程序开发的状态管理库,当多个组件需要共享某些状态(或数据)时,使用 vuex 能够帮助我们更好地管理应用程序中的状态。表示一个应用程序的状态。state 是一个响应式的对象,包含了应用程序中需要共享的数据,例如用户信息、购物车列表等等getters 是 Vuex 中的一个概念,它用于对 store 中的 state 进行计算或筛选。getter 可以看作是store 的计算属性它基于 state 的值进行计算,并返回一个新的值。mutations 是 Vuex 中用于。

2024-01-25 14:21:08 1037 1

原创 Vue核心 — Vue2响应式原理和核心源码解析(核心中的核心)

模板中绑定data数据发送变化时为什么视图会同步更新呢?这时候这张图就更高理解了。响应式对象(响应式原理)当你将一个普通的 JavaScript 对象传给 Vue 实例的 data选项时,Vue 会遍历这个对象的属性,并使用 Object.defineProperty或 Proxy将每个属性转换为 getter 和 setter、引用data数据实际上是访问数据对象属性的 get 方法、修改数据实际上是在调用数据对象属性的set方法。

2024-07-09 15:54:47 960

原创 Node.js 核心知识点 - Koa 框架

/ 导入数据库连接对象// 路由处理函数// 查询的 sql 语句// 执行查询的 sql 语句// 执行错误if(err) {})})// 返回响应信息// 导入路由// 导入路由处理函数// 创建路由对象。

2024-07-05 14:26:13 855

原创 CSS 核心知识点 - grid

CSS Grid布局是在CSS3规范中引入的一种新的布局方式,旨在解决传统布局方法(如浮动、定位、表格布局)存在的许多问题。CSS Grid布局规范最早由W3C提出,经过多年的发展和标准化,于2017年成为W3C的推荐标准。

2024-06-28 11:20:41 320

原创 关于 nextTick 方法

Vue.js 提供的一个异步方法,用于在下次 DOM 更新循环结束之后执行延迟回调。具体来说,当你想要在当前数据变化之后,DOM 更新之前执行一些操作时,就可以使用 nextTick 方法。Vue 会在,等待,并将,才会执行 nextTick 方法的回调函数(

2024-04-26 10:29:05 252

原创 网络核心知识点 - 网络通信技术 XHR(XMLHttpRequest) 和 Fetch

Ajax(Asynchronous JavaScript and XML)的概念最早由美国的 Jesse James Garrett 在 2005 年提出,他在一篇名为《Ajax: A New Approach to Web Applications》的文章中首次提出了这一概念。它是用于在 Web 页面中发起异步 HTTP 请求的技术,为 Web 开发中实现动态更新和交互性提供了重要的支持。尽管最初是由微软引入并实现的,但随后被其他浏览器采纳和支持,成为 Web 开发中常用的工具之一。

2024-03-24 19:52:57 652

原创 网络核心知识点 - 网络分层模型和应用层协议

HTTP(HyperText Transfer Protocol)是一种用于。

2024-03-24 13:55:40 241

原创 Vue3 核心知识点之 - Pinia

/ 导入 useStorage 函数// ref变量 → state 属性// 使用 useStorage(存储名称, 初始值, 存储方式)// 存储方式不给默认是localStorage// computed计算属性 → getters});// function函数 → actions});

2024-03-20 14:54:33 683 1

原创 JS核心知识点 - 赋值、浅拷贝、深拷贝。

1、赋值处理基本数据类型时,直接赋值是最简单的方式(会生成一个新的内存空间、不会共享内存空间,即不会修改原数据)。处理引用数据类型的时候需要考虑新数据修改是否能影响原数据、能影响的话可以用赋值(不会生成一个新的内存空间、会共享内存空间,会修改原数据)。2、浅拷贝处理引用数据类型的时、希望修改新数据时不能影响原数据(基础数据类型修改后原数据不会修改、引用数据类型修改后原数据会修改3、深拷贝(慎用)处理引用数据类型的时、希望修改新数据时不能影响原数据(

2024-03-18 10:54:15 987

原创 Vue核心知识点 -Vue2响应式系统是基于什么实现的、以及会产生什么问题和解决方案

在Vue 2中,响应式系统是基于实现的。它通过当你将一个对象传递给Vue实例的data选项时,Vue会遍历对象的每个属性,并使用方法将其转换为getter和setter。这样一来,当你访问或修改这些属性时,Vue能够捕获到这些操作并触发相应的更新。具体而言,Object.defineProperty方法用于定义一个对象的新属性,或者修改对象的现有属性。通过在属性上设置getter和setter,我们可以监听属性的读取和修改行为,并在这些行为发生时执行相应的操作。

2024-03-15 16:38:25 856 1

原创 HTML + CSS 核心知识点- 定位

文档流是指HTML文档中元素排列的规律和顺序。在网页中,元素按照其在HTML文档中出现的顺序依次排列,这种排列方式被称为文档流。文档流决定了元素在页面上的位置和互相之间的关系。

2024-03-15 11:30:23 1332 1

原创 如何降低node.js版本(nvm下载安装与使用)

项目打包时提示以下错误这个错误提示表明在执行Terser插件时,使用了一个不被支持的数字信封算法。这可能是因为加密算法的配置或环境设置有问题导致的。解决方案: 因为我电脑node版本是18的存在这个问题、同事电脑16的不存在该问题、所有选择降低node.js的版本。

2024-03-13 10:59:54 692

原创 Js核心知识点 - 关于 promise 详解

Promises/A+规范网址:Promise 是 JavaScript 中用于处理异步操作的一种解决方案。它是一个对象,代表了一个异步操作的最终完成(或失败)及其结果的表示。Promise 可以让我们更容易地进行异步编程,并避免了回调地狱的情况。状态(State):一个 Promise 可以处于三种状态之一:进行中(pending)、已成功(fulfilled)和已失败(rejected)。当一个 Promise 转为 fulfilled 或 rejected 状态时,就称为 settled 状态,

2024-03-01 11:44:21 992 1

原创 如何构建登录和注册接口

下载 joi:npm i joi// 用户表单验证规则模块// 定义登录表单验证规则/*** 用户名: 3-8 位字符* 密码: 需包含大小写字母且不少于 8 位字符* 验证码: 为字符*/=.*[a-z])(?=.*[A-Z])(?});// 定义添加用户(注册)表单验证规则/*** 操作人:为必填字符串* 头像: 必填* 用户名: 3-8 位字符* 密码: 需包含大小写字母且不少于 8 位字符* 角色名称:为必填字符串* 部门名称: 为必填字符串* 性别:为必填字符串。

2024-02-21 00:37:41 289 1

原创 关于节流与防抖

节流和防抖是两种常见的前端性能优化技术,节流:是指在一定时间段内,对于相同的事件,只会执行一次回调函数。与防抖不同的是,。因此,节流的特点是控制执行频率,确保在一定时间段内只执行一次回调函数。防抖:防抖是指在一个时间段内,对于相同的事件,只会执行一次回调函数。如果在这个时间段内有多次事件触发,则只有最后一次事件会被执行。因此,防抖的特点是延迟执行,确保只有在事件停止触发后才执行回调函数技能和回城节流就是说我们在使用技能(),技能的效果(看做执行函数)时马上释放的()技能会进入冷却状态(

2024-02-20 15:31:13 724 1

原创 关于 express、以及使用 express 搭建,获取验证码接口完整代码实例

Express 提供了丰富的 HTTP 请求和响应的 API,可以轻松处理各种 HTTP 请求和响应,包括路由、中间件、请求参数解析、静态文件服务、错误处理等。:Express 提供了简单而灵活的路由系统,可以根据不同的 URL 请求路径和 HTTP 方法来处理请求。使用路由,你可以将请求分发到不同的处理程序函数,实现对不同请求的逻辑处理。请求对象包含了请求的各种属性,如请求头、请求参数、请求路径等,并提供了一系列方法来访问和操作这些属性。通过设置模板引擎,你可以将数据和模板结合起来生成最终的响应内容。

2024-02-18 22:50:22 1152

原创 关于跨域、以及最常见的解决方案代码实现

理解并解决跨域

2024-02-17 22:58:47 1166 1

原创 关于如何构建一个生成验证码的后端接口

在用户注册和登录过程中,可以使用验证码来防止恶意机器人或自动化工具进行恶意注册和登录操作。:在用户请求密码重置时,可以要求用户输入验证码以确保安全性。:在需要用户频繁尝试的操作(如输入密码错误次数过多)时,可以引入验证码来阻止暴力破解攻击。:在 Web 应用程序中,可以使用验证码来防止跨站请求伪造(CSRF)攻击。

2024-02-16 22:41:19 809 1

原创 Vue核心知识点 - Vue-Router

Vue Router 是Vue.js的官方路由。它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举。参考文档:Vue Router | Vue.js 的官方路由 组件是Vue Router 提供的用于生成路由链接的组件。它会被渲染成一个标签,当用户点击该链接时,Vue Router 会根据配置的路由规则进行导航编程式导航是指通过代码来进行路由的跳转操作,而不是通过用户的点击或输入来触发路由导航。在 Vue Router 中,可以使用。

2024-02-03 21:19:22 613 1

原创 关于 TypeScript 和 javaScript 的主要对比

类型注解是一种在代码中显式指定变量或函数的类型的方式。它使用特定的语法来告诉编译器或开发人员该变量或函数应该具有的类型。在编程语言中,类型推断是指根据代码上下文和语法规则,自动推断出表达式的数据类型。这种机制可以使程序员在编写代码时无需显式地声明每个变量的类型,从而提高编程效率和代码可读性。TypeScript的核心原则之一是对值所具有的结构进行类型检查。它有时被称做“鸭式辨型法”或“结构性子类型化”。在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。

2024-02-01 14:57:30 1175 1

原创 关于Js 字符串、数组、对象常用方法

方法:将数组的所有元素连接成一个字符串,可以指定连接符。,包含从起始索引到结束索引之间的元素。会修改原数组,并返回被删除的元素或者被添加的元素。方法:将数组转换为逗号分隔的字符串。等为要插入到数组中的元素(可选)。为结束索引(不包括该索引)。为起始索引(包括该索引),更多方法内容持续更新中。为要删除的元素个数,

2024-01-31 11:01:02 365

原创 网络请求核心知识 - axios

Axios 是一个基于网络请求库,作用于和浏览器中。它是的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.jshttp模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

2024-01-28 16:34:56 478

原创 base64字符串、Url 之间的相互转换方法

Base64是一种将。Base64编码将二进制数据每6位一组进行编码,每组编码后得到一个字符,最终将所有编码后的字符拼接起来形成一个字符串。Base64编码后的字符串中只包含文本字符,可以安全地传输和存储。Base64适用于网络传输需要传输二进制数据的场景。

2024-01-26 17:59:35 6898 1

空空如也

空空如也

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

TA关注的人

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