自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浏览器缓存详细介绍

ETag 类似于文件指纹,If-None-Match 会将当前 ETag 发送给服务器,询问该资源 ETag 是否变动,有变动的话就将新的资源发送回来。s-maxage=:优先级高于max-age=,仅适用于共享缓存(CDN),优先级高于max-age或者Expires头;no-cache:设置了该字段需要先和服务端确认返回的资源是否发生了变化,如果资源未发生变化,则直接使用缓存好的资源;no-store:设置了该字段表示禁止任何缓存,每次都会向服务端发起新的请求,拉取最新的资源;

2025-05-27 19:17:16 792

原创 vue3.5优化升级部分盘点

而 props.count是取出来的值而不是响应对象,无法监听,但是如果用toRefs将props转为ref的话可以直接用watch监听解构出来的refs。我能想到的区别是解耦,就像 Composite API 和传统的选项 API 一样,新的写法支持将清理逻辑封装成可复用的函数,并同时注册多个清理函数。除此之外,watch 处理函数的最后一个参数可以接受一个回调,在清理时调用,这跟本次的新 API 功能是一样的,那么为什么还要加这个新函数呢?

2024-12-15 21:07:48 561

原创 js常见代码输出问题之promise,await,变量提升以及闭包(包括例子以及详细解析)

现在条件变成了 [] == 0 的问题了,当一个对象参与条件比较的时候,它会被求值,求值的结果是数组成为一个字符串,[] 的结果就是 ‘’ ,而 ‘’ 会被当作 0 ,所以,条件成立。实际上这里是从右往左执行的,首先执行y = 1, 因为y没有使用var声明,所以它是一个全局变量,然后第二步是将y赋值给x,讲一个全局变量赋值给了一个局部变量,最终,x是一个局部变量,y是一个全局变量,所以打印x是报错。先执行微任务再执行宏任务,注意宏任务微任务的多轮次,每执行完一次宏任务后都要检查有没有可执行的微任务。

2024-12-15 17:55:15 934

原创 React学习笔记01

onClick里直接写函数会导致一旦渲染就会调用,箭头函数可以解决这个问题console.log(‘button按钮点击了’,name)通过自定义Hook可以实现逻辑的封装和复用Hook函数不能在组件外使用,不能在if之类里使用value){value &&toggleRedux是React最常用的集中状态管理工具,类似于Vue中的Pinia(Vuex),可以独立于框架运行。

2024-12-08 21:11:59 550

原创 使用koa、websocket实现聊天室帮你了解实时通信

数据库的搭建需要外联到用户表,将sender_id与receiver_id与id联系。这样方便使用,而不用每次使用时都编写一次函数。

2024-11-24 17:52:36 288

原创 使用koa实现ai功能

这是一个非常艰难的过程,很多api的使用都有局限。献上源码,其中使用了yesicon图标库。成功发送请求后就可以使用接口了。然后要封装接口在前端使用。js实现霓虹灯效果部分·template部分。

2024-11-24 17:35:01 481

原创 如何让其他人连接到我们的数据库、进行项目前后端分离

允许远程连接:找到 MySQL 的配置文件(通常是 my.cnf 或 my.ini),路径因操作系统而异。打开配置文件并查找以下行:将其更改为:或者注释掉这一行(加上 #),以允许 MySQL 监听所有 IP 地址。重启 MySQL 服务:在修改配置文件后,您需要重启 MySQL 服务以使更改生效。在 Windows 上,您可以通过服务管理工具重启 MySQL 服务。

2024-11-10 18:45:27 710

原创 git的使用、router和route的区别以及v-show和v-if的差别

router 是 Vue Router 的实例,负责整个路由的配置和管理。它包含了所有的路由规则和全局导航守卫等。route 是一个表示当前路由状态的对象。它包含了有关当前路由的信息,如路径、参数、查询字符串等。

2024-11-03 16:05:22 739

原创 前端学习笔记

npx 是 Node.js 附带的一个命令行工具,它的主要作用是运行 Node.js 包和命令行工具,尤其是那些临时使用的工具,npx 是 npm 5.2.0 及更高版本的一部分。它并不是一个独立的包,而是 npm 的一个功能。

2024-10-27 21:51:42 664

原创 Vue2、Vue3温习解惑知识点

可以使用 Vue.set(obj, ‘newProp’, value) 来添加新属性,并确保它是响应式的。在 getter 中,Vue 会收集依赖(例如组件的渲染函数或计算属性)。当属性被访问时,Vue 会将当前的观察者(watcher)添加到依赖列表中。对于对象中的嵌套属性,Vue 会递归调用 defineReactive 以确保所有层级的属性都是响应式的。数组处理: Vue 通过重写数组的一些方法(如 push、pop、splice 等)来确保数组的变化是响应式的。

2024-10-21 13:47:00 710

原创 移动应用开发实验室web组js第一次考核

利用这个特性,我们可以将数组中的元素作为键存储到Map对象中,然后获取Map对象的键组成一个新数组,从而实现去重。当事件在DOM的某个元素上被触发时,这个事件会沿着DOM树向上传播,依次触发祖先元素上的同名事件处理函数,直到达到最顶层的元素或者某个祖先元素阻止了事件的进一步传播。Set是ES6中引入的一种新的数据结构,它类似于数组,但是成员的值都是唯一的,没有重复的值。如果你使用的是较新的JavaScript环境(如ES2019及以上),则可以直接使用数组的flat()方法来实现扁平化。

2024-09-17 19:34:16 1003 1

原创 关于黑马Ajax项目的笔记

访问权限的令牌,本质上是一串字符串。

2024-07-28 20:54:34 771 2

原创 Ajax之Promise链式应用、async函数和await、Promise.all静态方法

执行代码和收集异步任务的模型,在调用栈空闲,反复调用任务队列里回调函数的执行机制,就叫事件循环。

2024-07-28 20:46:39 957

原创 Ajax原理-XMLHttpRequest、Promise以及封装简易的axios函数

浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据Promise对象用于表示一个异步操作的最终完成(或失败)及其结果值。

2024-07-23 10:01:18 797

原创 js之原型

对象都会有一个属性_proto指向构造函数的prototype原型对象,之所以我们对象可以使用构造函数prototype。JavaScript规定,每一个构造函数都有一个prototype属性,指向另一个对象,所以我们也称为原型对象。基于原型对象的继承使得不同构造函数的原型对象关联在一起,并且这种关联的关系是一种链状的结构,我们将原型对。该属性指向该原型对象的构造函数,简单理解,就是指向我的爸爸,我是有爸爸的孩子。原型对象的属性和方法,就是因为对象有_proto_原型的存在。

2024-07-21 20:10:17 687

原创 js之深入对象和内置构造函数

5.实例方法includes(搜索的字符串[,检测位置索引号])判断一个字符串是否包含在另一个字符串中,根据情况返回true或false(重点)3.实例方法substring(需要截取的第一个字符的索引[,结束的索引号])用于字符串截取(重点)左闭右开。4.实例方法startsWith(检测字符串[,检测位置索引号])检测是否以某字符开头(重点)通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员(实例属性和实例方法)2.实例方法split(‘分隔符’)用来将字符串拆分成数组(重点)

2024-07-21 20:06:34 944

原创 数组常见的实例方法

实例方法every检测数组所有元素是否都符合指定条件,如果所有元素都通过检测返回true,否则返回false(重点)实例方法find查找元素,返回符合测试条件的第一个数组元素值,如果没有符合条件的则返回undefined(重点)实例方法some检测数组中的元素是否满足指定条件如果数组中有元素满足条件返回true,否则返回false。console.log(arr.join(‘’))//red颜色blur颜色green颜色。创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

2024-07-21 20:01:21 687

原创 js进阶之作用域、函数进阶以及解构赋值

(在javaScript中使用{}包裹的代码称为代码块,代码块内部声明的变量外部将[有可能]无法被访问)IE采用的引用计数算法,定义“内存不再使用”,就是看一个对象是否有指向它的引用,没有引用了就回收对象。js中内存的分配和回收都是自动完成的,内存在不使用的时候会被垃圾回收器自动回收。箭头函数不会创建自己的thiS,它只会从自己的作用域链的上一层沿用this。把所有var声明的变量提升到当前作用域的最前面,只提升声明,不提升赋值。:(在函数内部声明的变量只能在函数内部被访问,外部无法直接访问)

2024-07-21 19:59:33 1348

原创 js之事件监听以及相关案例

就是让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为注册事件。

2024-06-12 17:25:51 712

原创 js之操作元素属性和定时器以及相关案例倒计时

盒子

2024-06-12 17:08:08 1096

原创 css动画案例练习之会展开的魔方和交错的小块

调用动画用keyframes定义动画(类似定义类选择器)@keyframes动画名称{0%{100%{使用动画div调用动画animation-name:动画名称;持续时间animation-duration:持续时间;单位必须为秒。

2024-06-05 19:10:52 950

原创 js之对象、内置对象、获取和操作DOM对象以及相关年会抽奖案例

<style>.box {</style>年会抽奖</span></h1><h3>二等奖:<span class="ww2"></span></h3><h5>三等奖:<span class="ww3">

2024-06-03 12:24:43 1023

原创 js简单综合案例之简易ATM取款机、渲染表格案例、封装时间函数

2.初始值金额为100,计算每次操作后的剩余金额变化。2.运用函数计算总秒数转换的小时分钟秒数并输出。2.让用户输入表格中的数据,并填入表格中。1.设置一个可动态改变数据的好看的表格。1.弹出弹窗,让用户输入数字选择操作。3.一直弹出弹窗直到用户输入4,跳出。

2024-05-26 17:37:28 546

原创 js基础语法,有c语言基础的来!!!

运行在浏览器上的编程语言,实现人机交互和变量命名基本一致尽量小驼峰式命名法前缀应该为动词命名建议:常用动词约定通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

2024-05-26 17:25:27 825

原创 百度页面奔跑的白熊html、css

用keyframes定义动画(类似定义类选择器)@keyframes动画名称{0%{100%{

2024-05-16 13:51:26 1936 1

原创 css基础之用户界面样式、导航栏和三角

default默认pointer小手move移动text文本not-allowed禁止。

2024-05-12 20:14:54 532

原创 css基础之定位、元素的显示与隐藏

定义=定位模式+边偏移,

2024-05-12 19:28:40 652

原创 css基础之盒子模型、浮动问题

border边框、content内容、padding内边距、margin外边距(与另外盒子的距离)

2024-05-05 20:36:35 1106 1

原创 css基础之显示模式、背景、三大特性

独占一行,例如div,p,hr,h1-h6,ul,ol,form,table可以设置高度宽度,外边距,内边距宽度默认容器宽度里面可以放行内或块级元素注意:文字类元素不能使用块级元素。

2024-05-05 20:33:54 953 1

原创 有关css基础的基础选择器、字体文本属性、Emmet语法及复合选择器

.red {} .box {} </style></head><body><ul><li class= "red box" >冰雨</li></ul></body><head><style>#pink {} <div id= "pink" >冰雨</div>

2024-05-05 20:27:35 1011 1

原创 力扣75颜色分类力扣169多数元素力扣279完全平方数

给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]提示:nums[i] 为 0、1 或 2。

2024-04-29 22:10:20 222

原创 html入门零基础

名词<dd>名词解释1</dd><dd>名词解释2</dd><dd>名词解释3</dd>

2024-04-28 21:09:17 715

原创 动态规划斐波那契类型整理

选择一个任意点数nums[i]删除并获得他的点数,同时删除等于nums[i]+1和nums[i]-1的所有点数,此次删除并不能获得点数,即损失了他们的点数,求能获得的最大点数。根据第i行j列的数等于第i-1行j列与第i-1行j-1列之和可列出公式,因为最左边一列的j-1列都为0,所以可以保证都为1,而最右边一列的j列都为0,同样也可以保证。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

2024-04-22 15:23:29 1160

原创 力扣746使用最小花费爬楼梯

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1:输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。输入:cost = [1,100,1,1,1,100,1,1,100,1]输出:6解释:你将从下标为 0 的台阶开始。

2024-04-22 14:33:56 316 1

原创 力扣740删除并获得整数和力扣1173第N个泰波那契数

给你一个整数数组 nums ,你可以对它进行一些操作。每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例 1:输入:nums = [3,4,2]输出:6解释:删除 4 获得 4 个点数,因此 3 也被删除。之后,删除 2 获得 2 个点数。总共获得 6 个点数。

2024-04-21 22:18:39 941 1

原创 移动应用开发实验室第一次考核题分析

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串。字母和数字都属于字母数字字符。给你一个字符串 s,如果它是 回文串 ,返回 true;否则,返回 false。示例 1:输入: s = “A man, a plan, a canal: Panama”输出:true解释:“amanaplanacanalpanama” 是回文串。示例 2:输入:s = “race a car”输出:false。

2024-04-21 17:20:17 1658 2

原创 每日算法4.20

给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字。返回 已排序的链表。示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2:输入:head = [1,1,1,2,3]输出:[2,3]

2024-04-20 22:24:43 396

原创 每日算法4.19

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4。

2024-04-20 01:03:00 449

原创 每日算法4.18之动态规划

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。输入:n = 3输出:3解释:有三种方法可以爬到楼顶。

2024-04-18 20:54:15 489

原创 分享会之谈谈二分

二分查找是一个时间效率极高的算法,尤其是面对大量的数据时,其查找效率是极高,时间复杂度是log(n)。主要思想就是不断的对半折叠,每次查找都能除去一半的数据量,直到最后将所有不符合条件的结果都去除,只剩下一个符合条件的结果。

2024-04-18 14:33:48 994 1

空空如也

空空如也

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

TA关注的人

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