自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3+vite 自动引入export default的包

vue3+vite 自动引入export default的包

2025-02-19 16:03:40 90

原创 前端框架虚拟DOM的产生

前端框架虚拟DOM的作用

2025-02-19 10:44:38 246

原创 location.reload():刷新页面

【代码】location.reload():刷新页面。

2025-02-10 15:48:36 133

原创 前端超长列表,虚拟滚动实现

【代码】前端超长列表,虚拟滚动实现。

2024-11-18 16:41:44 404

原创 css中的box-sizing,记录

border-box:最终大小为height,默认包含padding border等属性。content-box:最终大小为height+padding+border 等。

2024-11-18 09:24:38 312

原创 js像循环数组那样循环一个数字,Array.from()

js像循环数组那样循环一个数字,Array.from()

2024-11-15 17:32:10 390

原创 vue2或vue3的name属性有什么作用?

vue2或vue3的name属性有什么作用

2024-11-12 16:09:46 521

原创 js中import引入一个export值可以被修改。vue,react

那在b.js中import使用obj时,obj不再是空对象,而是obj={a:'a:'a'}当在a.js中import引入一个空对象obj,并且新增一个属性obj.a='a'Object.freeze只能冻结第一层属性,如果需要冻结更深层属性则需要递归。如果导出的是一个对象,该对象引入后被更改了,则会影响其他文件引入此对象。判断对象是否被冻结Object.isFrozen()解决办法2:也可以使用和vue原理相同的代理去实现。Object.freeze() 冻结的特性。解决办法1:冻结对象。

2024-11-11 10:23:32 528

原创 vue3.5+版本 defineProps响应式解构,保留数据响应式

直接通过 defineProps 结构可以。

2024-11-04 17:21:45 426

原创 vue3中如何获取vue2中的$listeners事件集合

记录:vue3中如何获取vue2中的$listeners事件集合

2024-10-29 15:45:09 244

原创 js监听div尺寸,ResizeObserver

js监听div尺寸,ResizeObserver

2024-10-24 11:29:09 364

原创 分析和解决js运算精度问题,出现多位小数

某次突然发现在变整数的时候也会出现精度问题,比如上图中的数据。由于数据都是由后端返回,数据不固定,所以这个思路会有潜在问题。原因:js进行运算时会将数字先转为二进制再进行运算。加减乘除都会出现小数精度错误的问题 (见图)之前在做数字运算时都是将。数字转化为整数再进行运算。使用相关库进行运算,比如。

2024-10-08 18:01:31 806

原创 js中的纯函数是什么?和普通函数有什么区别?

js中的纯函数是什么?和普通函数有什么区别?

2024-09-12 16:35:25 511

原创 js字符串格式的数字比较大小

'1300'>'37' 为什么是false?在 JavaScript 中,当你比较两个字符串时,比较是基于字典顺序(也就是按字符的 Unicode 编码值进行比较)的,而不是数字的实际大小。因此,的结果是false,这是因为按字典顺序比较时,'1300'的首字符'1'在'3'之前,导致'1300'被认为是在'37'之后的字符串。

2024-09-02 09:36:13 509 1

原创 ECharts tooltip默认html样式,保留样式只对数据数值格式化

ECharts tooltip默认html样式,格式化数据保留默认样式

2024-08-23 15:15:29 1277

原创 ECharts 折线图在最高点和最低点在连接处向外颜色渐变

效果查看:将代码复制到。

2024-08-22 17:59:13 374

原创 Echarts 参数配置记录

Echarts 参数配置记录

2024-08-22 09:43:13 217

原创 vscode 写了未定义的方法不报错,配置全局ESLint

在正在维护的页面里复制了其他页面的一个方法,方法里面包含lodash的cloneDeep,cloneDeep在这个页面并没有引入,但是vscode却没有提示,很不友好,容易导致代码运行报错。文件->首选项->设置->插件->ESLint->ESLint:options->在settings.json中编辑。最近接触了一个旧的vue2的项目,里面没有ts和eslint配置。所以需要配置一下vscode进行代码检查,于是用到了ESLint。文件,文件内容和全局配置方法相同。在当前在项目的根目录下创建。

2024-08-21 09:41:11 932

原创 使用Volta管理node

使用Volta管理node

2024-08-12 21:37:18 691

原创 js如何在控制台打印dom对象,查看dom对象属性

如何在控制台打印dom对象,查看dom对象属性

2024-07-23 16:19:32 767

原创 js哪些循环可以被提前终止,以及提前终止方法

js提前终止循环,提前结束循环,终止循环

2024-07-19 15:45:16 631

原创 vue3虚拟dom(VNode)和真实dom如何相互转换

vue3虚拟dom(VNode)和真实dom如何相互转换

2024-05-07 22:05:47 1064

原创 vue3+vite如何使用jsx

2.vite.config.js里配置。

2024-05-07 21:38:03 586

原创 解释JS函数柯里化,并提供一个柯里化通用函数

JS函数柯里化解释,手写柯里化通用函数,示例代码很简洁,看看就懂了

2024-04-10 23:19:47 297 1

原创 vue3依赖收集effct函数原理,简单手写实现

手写vue3简版effct和reactive

2024-04-09 10:59:51 518 3

原创 JavaScript 中的 Map 和普通对象(Object)区别

JavaScript 中的 Map 和普通对象(Object)区别

2024-03-23 20:30:35 695 1

原创 vue3中proxy为什么使用了Reflect.get()?ES6的Reflect是什么?

proxy为什么使用了Reflect.get()?Reflect调用的是js底层方法,底层方法会提供有更多功能。

2024-03-23 18:12:06 265 1

原创 如何理解vue3渲染器,手写模拟vue3初始化过程

手写模拟vue3初始化过程,帮助理解vue3渲染器

2024-03-23 14:00:34 145 1

原创 JS改变this指向,手写简版call、apply、bind

apply:原理同call,参数改为数组的形式。原理就是利用:普通函数的this指向调用者。bind: 内部使用了call方法。

2024-01-09 15:21:42 404

原创 前端axios并发控制器,拦截器,事件并发控制器

将 ConcurrentInterceptors 类(第一个或者私有属性的都行)复制到 js文件,在需要的文件引入,并初始化实例对象。后来发现其他场景可能也有类似需要控制并发的需求,于是不与axios绑定将其抽离成公共的类,在需要的场景使用。结合1234:利用async、await和new Promise的resolve方法进行事件的执行控制。如果 最大并发数量>当前进行中的任务数量,则调用resolve方法,结束await等待。①最大并发数量、②当前进行中的任务数量、③存储等待中的任务。

2023-12-12 10:10:11 964

原创 js中WeakMap和Map的主要区别

关系,当键(对象)不再被引用时,垃圾回收器可以自动回收这部分内存,同时会被自动从WeakMap中移除。如果键一直被引用则不会被回收。因为WeakMap属性可能会被默认移除,所以WeakMap少了size、claer、迭代器等属性方法。即使键不再被引用,Map仍然会保存该键。键只能是引用类型的对象,并且是。键可以是任意类型的值,并且是。不容易理解的地方就是。

2023-12-12 10:09:47 570

原创 TS获取组合类型的所有属性

【代码】TS获取组合类型的所有属性。

2023-09-23 16:31:26 478 1

原创 vue3为什么提供了ref和reactive两个将数据变为响应式的方法

vue3为什么提供了ref和reactive两个将数据变为响应式的方法

2023-08-27 21:25:28 378

原创 在js中如果a==b;b==c;则a==c?

【代码】在js中如果a==b;b==c;则a==c?

2023-07-17 22:17:58 312 1

原创 js中0==null为什么是不相等?两个==比较逻辑解析

两个'=='比较逻辑解析对象如何转原始类型?1.如果对象有[Symbol.toPrimitive]方法,调用该方法,如果得不到原始值,则抛出异常。3.undefined 和 null 只有与自身比较,或者互相比较时,才会返回true。3.调用对象的toString()方法,若该方法能得到原始值则使用,反之,抛出异常。5.一端是原始类型,一端是对象类型,把对象转换成原始类型后进入第4步。2.调用对象的valueOf()方法,若得不到原始值,进入3。

2023-07-17 21:57:11 732 1

原创 如何将常用js方法打包发布成npm包

引言:项目做多了以后总有一些常用的方法在各个项目中使用,代码总是复制来复制去,还有一些方法可能存在升级优化代码等情况,这个时候每个项目都复制一遍就很繁琐,所以如果将常用的方法打包成npm包各项目重新更新包即可。4.开发好代码以后命令行执行npm login登录刚才注册的账号,如果已经登陆需要切换账号执行那npm logout然后再进行要发包的账号登录。3.package.json平级创建一个index.js,里面编写需要打包的代码方法。3.1.如果使用了其他registry,需要切换回npm的地址。

2023-06-04 20:33:06 2428 1

原创 npm多个registry如果配置,如何管理?工具nrm登场

4.添加源 (自定义名称: javaScript 地址: https://************)通过工具nrm (NPM registry manager)来管理,指令简单,随时切换。6.可能遇到的问题,解决办法:执行命令:npm i -g nrm open@8.4.2。2.查看版本,测试是否下载成功。

2023-06-04 18:32:43 1830 1

原创 ECharts 柱状图X轴或Y轴空值无数据不占位不渲染不展示

ECharts 数据轴空值不占位不渲染不展示

2023-04-03 22:52:52 1971 6

原创 js数组对象去重,vue/react

【代码】js数组对象去重,vue/react。

2023-04-03 22:26:31 91 1

原创 前端vue/react+axios+文件流excel下载

vue+axios+文件流excel下载,列表结合后端接口进行excel文件导出

2022-09-11 20:03:59 570

空空如也

空空如也

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

TA关注的人

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