自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stay hungry, stay foolish

记录前端学习

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

原创 css文本划线效果(text-decoration相关属性详解)

设置文本修饰线的类型,underline(在文本的下方)、overline(在文本的上方)、line-through(贯穿文本中间): 设定的线的样式,solid(直线)、double(双下划线)、dotted(点画线)、dashed(虚线)、wavy(波浪线)使用 text-decoration时,设置文本装饰下划线。设置文本上的装饰性线条的样式。设置如何绘制超出基线的字符。:设置文本修饰线的颜色。:设置文本修饰线的厚度。

2024-07-12 14:10:49 457

原创 什么是尾递归调用?

尾递归调用是一种特殊的递归形式,其中递归调用是函数的最后一个操作。尾递归将递归调用转换为迭代,从而节省函数调用栈的空间,避免栈溢出。许多编程语言和编译器能够对尾递归进行优化,称为尾递归优化。

2024-07-03 14:17:48 308

原创 桶排序的图解过程、代码实现和使用场景

桶排序是分治策略的一个典型应用。它通过设置一些具有大小顺序的桶,每个桶对应一个数据范围,将数据平均分配到各个桶中;然后,在每个桶内部分别执行排序;最终按照桶的顺序将所有数据合并。

2024-06-28 15:08:54 256

原创 空间复杂度的相关概念

空间复杂度(space complexity)用于衡量算法占用内存空间随着数据量变大时的增长趋势。

2024-06-19 17:40:03 983

原创 时间复杂度的相关概念

时间复杂度分析统计的不是算法运行时间,而是算法运行时间随着数据量变大时的增长趋势,也就是算法运行时间与输入数据的关系。

2024-06-19 09:57:13 723

原创 SVN 报错Error: Unable to connect to a repository at URL解决方法

使用ssh 用svn拉取仓库代码时,出现如下报错:Can't create session: Unable to connect to a repository at URL 'svn://127.0.0.1 ..... Can't connect to host '127.0.0.1': Connection refused at C:/Program Files/Git/mingw64/share/perl5/Git/SVN.pm line 717.

2024-06-14 15:59:39 921

原创 为什么javascript中数组可以存储不同类型的元素,而大多编程语言数组必须存储相同的元素?

我们都知道在Java、C++、C# 等编程语言中数组中要求相同类型的元素,而在javascript中却可以存储不同类型的元素,那这是为什么呢?

2024-06-14 10:45:35 200

原创 移动端浏览器的扫描二维码实现(vue-qrcode-reader与jsQR方式)

类似扫一扫的功能,自动识别到画面中的二维码并进行识别,也可以选择从相册中上传。vue-qrcode-reader一组用于检测和解码二维码的Vue.js组件jsQR一个纯粹的javascript二维码阅读库,该库接收原始图像,并将定位、提取和解析在其中找到的任何二维码。zxing-wasmZXing-C++ WebAssembly 作为带有类型的 ES/CJS 模块。读/写 web、node、bun 和 deno 中的条形码。安装3. 方式一:vue-qrcode-reader实现🔍vue

2024-06-11 13:55:06 2105 4

原创 Canvas的基本介绍与使用

Canvas 是 HTML5 中引入的一个重要特性,它允许网页动态渲染二维图形.。通常使用JavaScript脚本来绘制·canvas·元素。例如,它可以用于或者。是一个内联元素,默认尺寸为宽 ×高。也可以通过设置width和height属性来调整画布的大小。由于 Canvas 是基于的,所以缩放不会影响图形质量。

2024-06-04 16:47:58 583

原创 vue中视频播放器xgplayer的使用(点播与直播)

点播视频)是一种多媒体服务形式,允许用户随时随地选择并观看视频内容,而不是按照预设的时间表来观看。xgplayer是一个开源的 HTML5 视频播放器,由字节跳动公司开发并维护。它最初是为了满足短视频平台的播放需求而设计的,具有高性能和高度可定制的特点。xgplayer适用于移动设备和桌面设备,支持多种视频格式和流媒体协议,包括等。

2024-05-29 10:11:25 1547 5

原创 多张图片上传、图片回显、url路径转成File文件

背景:在表单中使用element-plus实现多张图片上传(限制最多10张),因为还要与其他参数一起上传,所以使用formData格式。编辑表单回显时得到的是图片路径数组,上传的格式是File,所以要进行一次转换。2. 踩坑记录问题:在对图片列表遍历后处理时,一开始在中进行文件格式转换操作,数据项无法插入中,但控制台打印有值。原错误写法:原因:是并发执行,在每次迭代时会立即执行指定的回调函数,并且不会等待上一次迭代的结果,所以并不能保证每次convertUrlToFile操作都已完成。解决方法

2024-05-22 14:26:26 976

原创 grid的常见使用场景

grid的常见使用场景。场景1:固定几列显示,显示不下会自动换行。场景2:格子宽度固定, 显示几列不确定。场景3:不同列所占份数不同。场景4:有些列宽度不固定

2024-05-11 17:23:35 382

原创 使用scrollIntoView滚动元素到可视区域

scrollIntoView 是一个内置的 JavaScript 方法,用于将元素滚动到视口可见的位置。它通常用于用户界面中,以便用户能轻松看到特定的元素。此方法可以应用于任何 DOM 元素,并且有多个参数可以控制滚动行为。

2024-05-11 13:34:12 1068

原创 HTTP请求中的安全性和幂等性

HTTP请求中的安全性指的是它不会修改服务器的数据。也就是说,这是一个对服务器只读操作的方法。比如`GET`,`HEAD` 和` OPTIONS`这些方法都是安全的。所有安全的方法都是具有幂等性,但具有幂等性的方法不一定都是安全的。`PUT `和 `DELETE` 都是幂等的,但不是安全的。

2024-04-29 15:20:05 467

原创 OPTIONS 预检请求是什么?

OPTIONS 请求是 HTTP 协议中的一种请求方法。它是 HTTP/1.1 规范中引入的,属于“预检请求”(preflight request)的一部分,主要用于跨域资源共享(CORS, Cross-Origin Resource Sharing)的场景中,但也适用于其他需要了解服务器功能的场合。

2024-04-29 10:43:29 524

原创 前端实现base64编码图片的导出、图片添加描述文字导出

传入图片的base64编码,将图片进行导出保存。图片添加描述文字导出

2024-04-24 14:16:41 312

原创 vscode中设置自定义代码模板

vscode中设置自定义代码模板

2024-04-09 14:28:21 1008 1

原创 函数式编程之组合函数、pointfree风格

组合函数是一种函数式编程中的概念,用于将多个函数组合成一个单一的函数,其中每个函数的输出是下一个函数的输入。如果要组合多个函数来创建一个更强大的组合函数,可以使用函数的方法来组合。方法对累加器(accumulator)和数组的每个值(按从右到左的顺序)应用一个函数,并使其成为单个值。另外,组合函数运用到了,只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。每次调用函数时,它只接受一部分参数,并返回一个函数,直到传递所有参数为止。

2024-04-07 14:02:04 170

原创 编译器重排是什么?

编译器重排(Compiler Reordering)是编译器在编译程序代码时进行的一种**优化操作,目的是提高程序的执行效率。在不违反代码的原有语义(即不改变程序执行结果)的前提下,编译器会对源代码中的指令顺序进行调整。

2024-03-29 16:55:47 328

原创 vue3使用vuedraggable实现拖拽(有过渡)

vue3使用vuedraggable实现拖拽

2024-03-29 15:52:30 4669

原创 JavaScript中的行为委托和面向类的区别?

行为委托意味着:在访问某个对象上不存在的属性或方法时,让这个对象为属性或方法引用提供一个委托。可以多级委托,但是不能相互委托,不能在两个或多个对象间相互地委托(双向地)对方来创建一个 循环 。比如使 B 链接到 A,然后试着让 A 链接到 B。

2024-03-26 09:18:00 286

原创 表格列内容过长显示省略号,并悬浮展示信息

使用自定义指令,并判断超长的文字,悬浮提示展示信息。// 表格内容过长,显示悬浮信息。// 判断该行内容是否全部显示。

2024-03-22 09:19:05 531

原创 什么是多重继承中的钻石问题?如何解决?

如果“A”提供了方法 drive(),而“B”和“C”都覆盖(多态地)了这个方法,那么当“D”引用 drive() 时,它应当使用那个版本呢(B:drive() 还是 C:drive())?使用虚继承,开发者必须显式地解决多重继承带来的任何歧义。在Python中,如果类D没有定义drive()方法,那么调用d.drive()会根据MRO来决定使用哪个父类的drive()方法。的方法来解决这类问题。”(Diamond Problem),是多重继承中的一个典型问题,它出现在使用多重继承的编程语言中,如C++。

2024-03-19 09:21:49 448

原创 vue中json格式化显示(vue-json-viewer)

添加到JsonViewer的组件属性上复制粘贴下面的模板并且根据自定义的theme名称做对应调整。

2024-03-12 16:22:07 3048 2

原创 【webpack】和【vite】中获取本地文件夹目录下的所有图片

webpack 和 vite 中获取本地文件夹目录下的所有图片

2024-03-11 11:02:04 1018

原创 [vite] Internal Server Error: Cannot read properties of null (reading ‘split‘)

[vite] Internal Server Error: Cannot read properties of null (reading 'split')报错原因及解决方法

2024-02-29 15:13:10 1169

原创 什么是稀疏数组和密集数组?

稀疏数组(Sparse Array):稀疏数组是指数组中包含未定义的元素,或者说其中某些位置没有被分配值。

2024-02-22 13:44:18 890

原创 【git】本地项目推送到github、合并分支的使用

将本地项目推送到github远程仓库、合并分支的使用

2024-02-04 17:22:56 1127

原创 pina持久化的安装与使用(pinia-plugin-persistedstate)

pinia可以实现跨组件之间的通信,但是有时会面临的情况。而使用或者需要对不同字段做处理,也很麻烦。所以选择pinia-plugin-persistedstate来对Store进行c持久化存储。

2024-02-04 14:11:31 1256

原创 Transition内置组件设置无效的原因

包裹的组件是否有显示隐藏状态的切换,或者是绑定的key值是否发生改变。要放在发生变化的组件外层,如果中间有其他元素或组件会不生效

2024-02-02 16:10:17 657

原创 拖拽按钮: 如何区分点击和拖拽事件 (vueuse实现)

问题:使用vueuse的去拽按钮时会触发点击事件,即使设置阻止默认事件还是没用。

2024-02-02 15:59:17 1005

原创 【css】设置渐变阴影

css设置渐变阴影,css的属性中没有直接设置渐变阴影的,但是可以通过伪元素去实现。

2024-01-30 17:25:46 765

原创 【css】自定义列表项标记(图片、符号、表情)

将图片、符号、表情自定义为列表项标记

2024-01-30 16:13:15 836

原创 【vue】defineModel在vue3.4中的最新用法和详解

尤大发布了vue3.4版本,这个版本主要对一些实验性特性的改进(比如),大量重写了模板编译器并重构了响应式系统,可以说是大大提升了运行速度和效率。

2024-01-29 17:04:39 8174

原创 输入框内容和占位符过长悬浮提示

输入框内容过长,内容悬浮提示;输入框占位符过长,以省略号代替,并悬浮提示

2024-01-26 15:54:27 731

原创 【vite】找不到模块“vite”或其相应的类型声明

用vite搭建项目时,在vite.config.ts文件中 ts报错【找不到模块@vitejs/plugin-vue或其相应的类型声明】

2024-01-19 17:36:32 4243

原创 【dayjs】类型“Dayjs”上不存在属性“isSameOrAfter”

dayjs中有一些方法是需要使用插件后才能使用,默认情况下,Day.js只提供核心代码,没有安装插件。

2024-01-16 09:56:40 787

原创 通过ip地址和掩码位数,计算ip起始地址

【代码】通过ip地址和掩码位数,计算ip起始地址

2024-01-09 16:08:41 401

原创 判断一个数是NaN和Infinity的方法

isNaN()只要不是数字都会返回true, Number.isNaN()只有NaN才 返回 true.所以,想严格检查一个值是否是 NaN,就选择 Number.isNaN()

2024-01-09 16:00:23 753

原创 【echarts】雷达图参数详细介绍

echarts雷达图参数详细介绍

2024-01-08 17:13:47 3631 2

空空如也

空空如也

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

TA关注的人

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