- 博客(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
原创 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
原创 函数式编程之组合函数、pointfree风格
组合函数是一种函数式编程中的概念,用于将多个函数组合成一个单一的函数,其中每个函数的输出是下一个函数的输入。如果要组合多个函数来创建一个更强大的组合函数,可以使用函数的方法来组合。方法对累加器(accumulator)和数组的每个值(按从右到左的顺序)应用一个函数,并使其成为单个值。另外,组合函数运用到了,只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。每次调用函数时,它只接受一部分参数,并返回一个函数,直到传递所有参数为止。
2024-04-07 14:02:04
170
原创 编译器重排是什么?
编译器重排(Compiler Reordering)是编译器在编译程序代码时进行的一种**优化操作,目的是提高程序的执行效率。在不违反代码的原有语义(即不改变程序执行结果)的前提下,编译器会对源代码中的指令顺序进行调整。
2024-03-29 16:55:47
328
原创 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
原创 [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
原创 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
原创 【vue】defineModel在vue3.4中的最新用法和详解
尤大发布了vue3.4版本,这个版本主要对一些实验性特性的改进(比如),大量重写了模板编译器并重构了响应式系统,可以说是大大提升了运行速度和效率。
2024-01-29 17:04:39
8174
原创 【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
原创 判断一个数是NaN和Infinity的方法
isNaN()只要不是数字都会返回true, Number.isNaN()只有NaN才 返回 true.所以,想严格检查一个值是否是 NaN,就选择 Number.isNaN()
2024-01-09 16:00:23
753
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人