自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 React基础知识一

● 遇到 <开头的代码, 以标签的语法解析: html同名标签转换为html同名元素, 其它标签需要特别解析。2.发现组件是使用函数定义的,随后调用该函数,将返回的虚拟DOM转为真实DOM,随后呈现在页面中。2.发现组件是使用类定义的,随后new出来该类的实例,并通过该实例调用到原型上的render方法。● 若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。//render是放在哪里的?● 若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。

2025-04-14 00:04:51 1036

原创 浏览器缓存机制

常说的浏览器缓存就是Http缓存,基本原理就是用户通过http请求资源之后,会在本地浏览器专门用来存放缓存规则的表中写入缓存资源的信息,也叫映射表,作用是将缓存的资源信息和在用户电脑磁盘中的实际文件路径一一对应起来,当浏览器再次访问资源时,通过浏览器的缓存规则表中的信息,就可以直接从电脑磁盘读取缓存文件了,不用再去请求服务端。浏览器的强缓存和协商缓存机制是提升 Web 应用性能的重要手段。强缓存通过减少网络请求,极大地提高了页面加载速度,适用于不常更新的静态资源;

2025-03-30 08:55:58 689

原创 Web App Manifest

对于每个读取的整数 arr[i],将其加上 100 作为 hash 数组的索引,将 i(即该整数在 arr 数组中的位置)存储在 hash[arr[i] + 100] 中。这样做的目的是为了处理负数,因为数组的索引不能为负数,通过加上 100 可以将范围在 -100 到 100 之间的整数映射到 0 到 200 的索引范围。如果不为 0,说明找到了满足条件的另一个数,并且 hash[k - arr[i] + 100] 存储了该数在 arr 数组中的位置。:定义不同尺寸的应用图标,用于启动屏、应用列表等。

2025-03-23 08:37:58 792

原创 Service Worker

什么是Service Worker?Service Worker 是一种可编程的网络代理,是现代 Web 应用(PWA)不可或缺的一部分。它独立于网页运行,运行在单独的线程中,因此不会阻塞页面主线程。

2025-03-16 08:46:07 810

原创 vue源码(二)

在以上setComponent中,组件渲染之后设置组件的状态,通过 isStatefulComponent(instance) 判断是否是有状态的组件,initProps 初始化 props;以下代码主要是有一个msg的响应式数据,点击按钮后修改msg的内容。setupStatefulComponent就是设置有状态组件,对于有状态组件,Vue内部会保留组件状态数据。根据组件是否是有状态的,来决定是否需要执行 setupStatefulComponent 函数。判断是否有状态的组件的函数。

2025-03-09 08:52:08 338

原创 vue源码

这里返回的 renderer 对象,可以认为是一个跨平台的渲染器对象,针对不同的平台,会创建出不同的 renderer 对象,上述是创建浏览器环境的 renderer 对象,对于服务端渲染的场景,则会创建 server render 的 renderer。根据上述代码,当进行根组件渲染的时候,createVNode的第一个入参 type 是App 对象,也就是一个 Object,所以得到的 shapeFlag 的值是 STATEFUL_COMPONENT,代表的是一个有状态组件对象。

2025-03-03 03:29:26 567

原创 算法(四)——动态规划

确定问题的状态表示,即如何用一个或多个变量来描述问题的子问题。状态的定义需要能够准确地刻画问题的特征,并且要满足最优子结构性质。

2025-02-24 08:18:20 831

原创 canvas入门基础知识(一)——2D图形

但是要注意的是,设置画布的宽高只能在html标签里通过height和width属性来设置(canvas标签有且只有这两个属性),如果在css里设置,只是将画布拉伸变形了,就好像拿放大镜看一样,会导致失真,其实它本质上的大小并没有变化。简单来说,标签canvas就是一个画布,比如你在代码中写了一个canvas标签,打开live server,在支持canvas的浏览器上显示的就是一个默认长300像素,宽150像素的白色画布,为了方便显示,可以加上阴影或者边框。主要聚焦于2D图形。

2024-12-16 16:20:27 798

原创 算法(三)——贪心算法

贪心算法是指在求解问题时,总是做出在当前来看是最好的选择,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。在一些特定的问题中,贪心算法可以通过逐步构建最优解来实现全局最优。

2024-12-09 08:56:11 2756 1

原创 Vue3组件通信

子 => 父。注意区分好:原生事件、自定义事件。原生事件:事件名是特定的(clickmosueenter等等)事件对象$event: 是包含事件相关信息的对象(pageXpageYtargetkeyCode自定义事件:事件名是任意名称事件对象$event: 是调用emit时所提供的数据,可以是任意类型!!!--在父组件中,给子组件绑定自定义事件:--> < Child @send-toy = " toy = $event " />

2024-12-02 14:34:03 563

原创 vue3的setup、ref、reactive

setup是Vue3中一个新的配置项,值是一个函数,它是“表演的舞台,组件中所用到的:数据、方法、计算属性、监视…等等,均配置在setup中。setup函数返回的对象中的内容,可直接在模板中使用。setup中访问this是undefined。vue3中已经开始弱化thissetup函数会在之前调用,它是“领先”所有钩子执行的。

2024-11-18 08:20:31 1397 1

原创 SSE实现消息实时推送

文章目录介绍工作原理关键特点与其他技术的比较SSE实现消息实时推送介绍SSE(Server-Sent Events,服务器发送事件)是一种基于HTTP协议的技术,用于实现服务器向浏览器(客户端)单向推送数据。通过SSE,服务器可以在某个事件发生时向浏览器主动发送实时更新的信息,而不需要客户端不断地发出请求。工作原理客户端发起请求:客户端(通常是浏览器)通过发出HTTP请求向服务器请求一个特定的SSE流(通常是一个URL)。这个请求是一个持久连接,浏览器会保持与服务器的连接,直到服务器发送数据或者连接

2024-11-11 08:14:12 1197

原创 WebSocket实现消息实时推送

WebSocket 是一种网络通信协议,旨在实现客户端和服务器之间的双向通信。它允许在单个 TCP 连接上进行全双工(即同时进行发送和接收)通信。WebSocket 特别适用于需要实时更新的应用,比如在线游戏、聊天应用、实时数据流等。...return {init,webSocket 函数接收一个参数 params(通常是用户ID),用于建立特定的 WebSocket 连接。

2024-11-02 22:01:24 1730

原创 TypeScript(中)+算法(二)

从语法上讲:函数是可以返回 undefined 的,⾄于显式返回,还是隐式返回,这⽆所谓从语义上讲:函数调⽤者不应关⼼函数返回的值,也不应依赖返回值进⾏任何操作!即使我们知道它返回了 undefined。

2024-10-27 17:24:21 946 1

原创 Vue基础(四)

专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。理解:数据在组件自身,但是根据数据生成的结构需要组件的使用者来决定(games数据在Category组件中,但使用数据所遍历出来的结构由App组件决定)特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!使用:多个组件依赖同一状态;优点:可以配置多个代理,且可以灵活的控制请求是否走代理。

2024-10-20 08:46:18 999

原创 Vue基础(三)

向外提供特定功能的js程序,一般就是一个js文件为什么:js文件很多很复杂作用:复用js,简化js的编写,提高js运行效率是Vue官方提供的标准化开发工具(开发平台)

2024-10-13 19:54:30 978

原创 Vue基础(二)

计算属性与监视姓名案例插值语法实现<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>姓名案例</title> <script type="text/jav

2024-10-06 20:55:39 1446

原创 Vue基础(一)

vue是一套用于构建用户界面的渐进式javaScricpt框架。构建用户界面就是把拿到的数据变成用户可以看到的界面。渐进式意思是vue可以自底向上逐层应用。1.想让vue工作,就必须创建一个vue实例,且要传入一个配置对象;2.root容器里的代码依然符合html规范,只不过混入了一些特殊的vue语法;3.root容器里的代码被称为vue模板;4.vue实例和容器是一一对应的;5.真实开发中只有一个vue实例,并且会配合着组件一起使用;

2024-09-29 17:29:23 1269

原创 TypeScript基础(上)

TypeScript,简称 ts,是微软开发的一种静态的编程语言,它是 JavaScript 的超集。简单来说,js 有的 ts 都有,所有js 代码都可以在 ts 里面运行。ts 支持类型支持,ts = type +JavaScript。

2024-09-23 08:14:58 672

原创 前端基础知识+算法(一)

三者都是改变this指向,接收的第一个参数是this的指向对象,都可利用后续参数传参,call()接受的是一个参数列表,apply()接受的是一个包含多个参数的数组,call()和bind()都是多个参数依次传入,apply()只有两个参数,第二个参数为数组,call()和apply()都是直接对函数进行调用,而bind()是直接床架一个改变this指向后的新函数。在二分查找中,目标元素的查找区间的定义十分重要,不同的区间的定义写法不一样,左右区间开闭不一样,对应·的迭代方式也不一样。

2024-09-15 15:28:43 1698 1

原创 常见知识点总结

具体:在客户端创建一个script标签,然后把请求后端的接口拼接一个回调函数名称作为参数传给后端,并且赋值给script标签的src属性,然后把script标签添加到body中,当后端收到客户端的请求时,会解析得到回调函数的名称,然后把数据和回调函数名称拼接成函数调用的形式返回。a instanceof A ,判断参照对象(大写字母A)的prototype属性所指向的对象是否在被行测对象a的原型链上。都是常见的循环结构,允许我们遍历对象的属性或数组、字符串、Map、Set等可迭代对象的元素。

2024-06-08 17:36:22 916

原创 art-template

art-template是一个简约,快速的模板引擎,可以运行在浏览器端和Node.js环境中。art-template灵活性高,支持包括逻辑语句、条件判断、循环等常用的模板语法。中文官网首页为http://aui.github.io/art-template/zh-cn/index.html。

2024-06-02 11:22:42 391

原创 nodeJs上

ip地址用来定位计算机,端口号用来定位具体的应用程序,所有需要联网通信的应用程序都会占用一个端口号,端口号的范围从0-65536之间;响应对象可以用来给客户端发送响应消息,response对象有一个方法,write,可以用来给客户端发送响应数据,write可以使用多次,但最后一定要使用end来结束响应,否则客户端会一直等待。用户自己编写的文件模块(相对路径必须加./;在服务端默认发送的数据,其实是utf8编码的内容,在http协议中,Content-type就是用来告知对方我给你发送的数据内容是什么类型。

2024-05-26 22:05:37 1053

原创 第一次项目

大概问题目前有这么多,后期看情况能不能把标签和达人也写上,以后抽时间把这些问题改改不管怎么样,这个项目后续就是自己找时间写了,还得尽快和后端商量商量怎么改合适。考核过后才发现还有那么多错误,总是要等到截止之前的时候出现一堆莫名其妙的bug。等到下次总结一下这次项目涉及到第一次用的知识点,因为时间太赶,目前整理了一部分,总结完就能发了。路漫漫其修远兮,吾将上下而求索。

2024-05-19 14:32:47 340 1

原创 textarea相关属性及使用

什么是textarea标签?在HTML中,像年龄,姓名这种用单行文本框就能搞定,但如果是多行文本,就需要用到textarea标签。textarea标签用于创建多行文本输入框。

2024-05-12 17:12:24 2836

原创 thymeleaf部分语法整理

th:switc和th:case与java中switch等效,只要其中⼀个 th:case 的值为 true就显示标签,则同⼀个 switch 语句中的其他 th:case 属性都将被视为 false即都不显示标签。)] 中的表达式就是 Thymeleaf 中内联表达式,任何在 th:text 或 th:utext 属性中使⽤的表达式都可以出现在 [[]] 或 [()] 中使用。th:each=“遍历出来的数据,遍历出来的数据的状态 : 要遍历的数据”用目标的代码替换当前标签, 不会保留页面自身的标签。

2024-04-21 10:28:54 1773 2

原创 知识点碎片总结

5、箭头函数不具有 arguments 对象:每一个普通函数调用后都具有一个arguments 对象,用来存储实际传递的参数。4、箭头函数中 this 的指向不同:在普通函数中,this 总是指向调用它的对象,如果用作构造函数,它指向创建的对象实例。都是循环遍历一个数组,方法里每次执行匿名函数都支持三个参数,item(当前每一项),index(索引值),arr(原数组)2、 箭头函数全都是匿名函数:普通函数可以有匿名函数,也可以有具名函数。1、外形不同:箭头函数使用箭头定义,普通函数中没有。

2024-04-14 11:11:08 728 1

原创 JS的几种继承方式和创建模式

套路:自定义构造函数,通过new创建对象适用场景:需要创建多个类型确定的对象问题:每个对象都有相同的数据,浪费内存。

2024-03-31 11:22:29 459 1

原创 JS高级部分知识点

函数的prototype属性:在定义函数时自动添加的,默认值是一个空object对象(但是object也是一个函数,且不满足默认值要求)对象的_proto_属性:创建对象时自动添加的,默认值为构造函数的prototype属性值在ES6之前,能直接操作显示原型,但不能直接操作隐式原型function Fn(){ //内部语句:this.prototype = {}//给原型添加方法fn.test()自定义构造函数,通过new创建对象适用场景:需要创建多个类型确定的对象。

2024-03-24 10:46:25 831

原创 简单的分页实现

不过我是基于我调用的接口进行编写,在具体实现时,还是要根据情况而定,这只是个简单的逻辑,仅供参考。分页是管理系统中常见且必须要实现的功能,在前后端交互时,从接口中获得数据实现分页以及简单的分页渲染,分页的形式有很多种,第一次写,写一个最简单只有上下页两个按钮的切换。这是一个简单的表头加tbody空的表身,需要通过接口将后台数据渲染到表身里,利用接口来进行分页。稍微复杂点的功能后续会进行研究,以上只是代码的一部分,需要与其他功能连接实现,当前展示的是一个思路,但是在使用时仅供参考,不一定都会实现。

2024-03-17 11:20:53 447 1

原创 ES6部分知识点

ES6目前就学了这部分,后续会继续了解,里面方法挺多的,当然,我也理解得不是特别好,还是应用到实际中更能理解。每周生活分享生活多姿多彩,总要有我负重前行的时候😓看来不管是高中还是大学,物理都是我前行道路上令人无法无视的负重求一个学好电子技术基础的好方法。

2024-03-10 09:51:12 1849 1

原创 简易弹窗制作

在实现增删改查等其他功能时,可以用js设置监听点击事件,给相应的按钮添加对应的功能,而弹窗的设置会使页面呈现更加美观,尤其是增加和修改数据,用弹窗表单更加方便。创建弹窗时,在HTML中创建弹窗的样式,黑色透明的背景,弹框内容放于中央实现弹窗显示或者隐藏功能时,获取相关取消按钮等,设置display属性控制。同时,对于一套完整的增删改查功能来说,应该灵活变通,根据具体的实现情况调整代码,本文主要讲的就是基础性的弹窗怎样制作和它的显示隐藏。

2024-03-02 22:15:05 625

原创 js轮播图

轮播图是网页设计里经常使用的js效果,实现轮播图就我目前所知道的有两种方法。第一是位移法,第二是改变透明度,那就先说位移法。

2023-12-31 11:31:17 403

原创 js基础中

函数也是一个对象函数可以封装一些功能(代码),在需要时可以执行这些功能,可以保存一些代码在需要的时候用。使用typeof检查一个函数对象时,会返回function正则表达式用于定义一些字符串的规则计算机可以根据正则表达式,来检查一个字符串是否符合规则,或者将字符串中符合规则的内容提取出来。常用节点分为四类:文档节点:整个HTML节点元素节点:HTML文档中的HTML标签属性节点:元素的属性文本节点:HTML标签的内容浏览器已经为我们提供文档节点,对象是window属性。

2023-12-24 08:08:19 347 1

原创 JS基础上

Undefined类型的值只有一个,就是Unfdeined当声明一个变量但不赋值时,它的值就是Undefined使用typeof检查一个Undefined时,也会返回Undefined。

2023-12-16 14:45:42 2184 1

原创 2D,3D

skewX()单独定义了x轴上的倾斜量,skewY()单独定义了y轴上的倾斜量。transformX仅在x轴上移动,transformY仅在y轴上移动,transformZ仅在z轴上移动。3D属性定义了x轴(水平向右,右正左负),y轴(垂直向下,下正上负)和z轴(垂直屏幕,外正里负)。scaleX()定义x轴的缩放量,同样scaleY()定义y轴的缩放量。左手的拇指指向x轴的正方向,其他手指弯曲的方向就是元素绕x轴旋转的方向。左手的拇指指向y轴的正方向,其他手指弯曲的方向就是元素绕y轴旋转的方向。

2023-12-10 09:18:49 386 1

原创 Seventh(11.27~12.3)

相对于原来的位置(以自己的左上角为基点),不脱离标准文档流(元素排版布局过程中,会默认自动从左往右,从上往下的排列方式,自上而下分成一行行,并在每行中从左到右排放元素)。因为父元素中没有定位,所以设置定位的子元素会向上查找,直到找到有定位的父元素,也就是特面,所以上图呈现出来的子元素是相对于页面偏移的。给父元素设置一个相对定位,父元素相对于原来位置移动的同时,此时设有绝对定位的子元素就不是相对于页面而是相对于父元素移动的了。父元素的高度不能低于sticky元素的高度,sticky元素只在父元素内生效。

2023-12-03 15:03:23 467 1

原创 Sixth(11.20~11.26)

HTML(超文本标记语言)是一种用于创建网页的标准标记语言。(不是一种编程语言)可以使用HTML来建立WEB站点,HTML运行在浏览器上,由浏览器来解析。HTML文档也叫web页面,包含了HTML标签及文本内容。HTML文档的后缀名 .html或 .htm ,两种后缀名没有区别,都可以使用。HTML文档声明如果不写声明,则会导致有些浏览器进入怪异模式。HTML标签是由尖括号。

2023-11-26 11:24:37 829 1

空空如也

空空如也

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

TA关注的人

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