- 博客(22)
- 收藏
- 关注

原创 vitepress从0到1
vitepress从0到1VitePress 是 VuePress 的小弟弟,在 Vite 上构建的。本篇博客记录了vitepress的搭建,使其能够在md文件中也能运行vue3的代码。常见的问题是在script标签中要注意单引号和双引号的问题。vitepress-theme-demoblock 是一个基于 Vitepress 的主题插件,它可以帮助你在编写文档的时候增加 Vue 示例,它的诞生初衷是为了降低编写组件文档时增加一些相关示例的难度。创建项目创建项目安装vitepress,创建
2022-04-06 16:27:10
2972
原创 内存管理与GC机制
理解 JavaScript 的内存管理机制,不仅能写出更健壮的代码,更是面试中展示技术深度的利器。重点关注 GC 算法、内存泄漏场景和优化策略,结合工具实践分析,助你轻松应对挑战。
2025-02-18 17:20:57
821
原创 类型转换底层原理(ToPrimitive规则)
数据类型:JavaScript 中有原始类型和引用类型。类型转换:包括显式转换(手动触发)和隐式转换(自动触发)。ToPrimitive 规则:用于将对象转换为原始值,优先调用valueOf()方法,然后调用toString()方法。可以通过自定义行为。类型检查:使用typeofinstanceof和可以准确地验证变量的类型。通过理解类型转换的底层原理和 ToPrimitive 规则,可以更好地控制 JavaScript 中的类型转换行为,避免意外的错误。
2025-02-17 16:24:55
542
原创 Event Loop与异步编程(结合Node.js事件循环)
理解各阶段执行顺序及微任务与宏任务的差异,是编写高性能、无阻塞异步代码的关键。这段代码通常包括同步任务和异步任务的调度。每个宏任务执行完成后,会触发下一轮事件循环的微任务队列处理。如果在执行微任务过程中,新的微任务被添加到队列中,这些任务会在当前微任务执行完毕后立即执行。每个宏任务执行后,都会重新检查微任务队列,执行所有微任务,然后再取下一个宏任务,依此类推。执行微任务队列中的所有任务。微任务队列中的任务会被依次执行,直到队列为空。长时间同步代码会阻塞后续阶段任务的执行,需分解为异步任务或使用工作线程。
2025-02-17 15:52:51
665
原创 手写Promise实现(A+规范)
在promiseA+中,把每一个异步任务都看做一个promise对象,每一个任务对象都有两个阶段(unsettled,settled),三个状态(pending,resolved,rejected):已拒绝,处于已解决阶段,已经有了失败的结果,无法按照正常逻辑进行下去,可以传递一个错误信息,后续可以用.then的onRejected处理,或使用catch处理。:已处理,处于已解决阶段。已经有了成功的结果,可以按照正常逻辑进行下去,并可以传递一个成功信息,后续可以用.then的onFulfiled处理。
2025-02-17 15:05:14
234
原创 原型链与继承(手写继承方案)
在JavaScript中,原型链和继承是核心概念之一,用于实现对象之间的属性和方法共享。以下是关于原型链和继承的详细解释,以及几种常见的手写继承方案。
2025-02-17 14:39:48
812
原创 vue3实现WebRTC实战1v1通话
利用webrtc进行1对1视频通话,也就是p2p点对点连接。核心技术点包括:websocket、webRTC、coturn服务器等。
2023-09-01 10:19:27
1802
原创 vue项目迁移到企业微信(单点登录、获取定位)
使用vue创建企业微信内部自建应用,包括单点登录和使用企业微信sdk获取定位信息,解决授权时弹窗显示应用名而不是域名等问题。
2023-05-31 17:34:32
2675
原创 picker左右滑动
主要运用在移动端项目中,通常的组件是通过纵向的滑动来选择,使用transform的问题是页面虽然旋转过来了,但是让他左右移动时的动作要与旋转前一样,不符合操作逻辑,因此造了这个轮子。有需要的可以点赞收藏。需要传入pickerData数组数据,返回事件result,代码中已添加滑动变化时震动...
2022-08-30 11:00:43
627
1
原创 vue关于scroll,轮播滚动
vue关于scroll,滚动的东西滚动请求下页数据<!-- * @Author: lxiang * @Date: 2022-03-11 00:34:57 * @LastEditTime: 2022-03-11 01:09:06 * @LastEditors: lxiang * @Description: 滚动请求下页数据 * @FilePath: \demons\src\views\pagescroll.vue--><template> <div cl
2022-03-15 23:36:34
1289
原创 Popover 弹出框时渲染Echarts图表
Popover 弹出框时渲染Echarts图表问题:使用组件Popover 弹出框时渲染Echarts图表不成功原因:由于popover弹窗还没完全展开时,Echarts图表的canvas画布已经开始渲染,但是这时获取不到popover弹窗的长宽尺寸,所以canvas画布渲染出现问题解决方案:popover组件提供了after-enter事件,显示动画播放完毕后触发。vue2需要的样式vue3完整代码<!-- * @Author: lxiang * @Date: 2022-01-
2022-02-17 17:58:00
1291
原创 前端练习-CSS布局
前端练习-CSS布局文章目录前端练习-CSS布局在线练习一、盒模型CSS1 盒模型 - content-boxCSS2 盒模型 - border-boxCSS3 盒模型- 外边距折叠二、浮动CSS4 浮动CSS5 浮动 - 清除三、定位CSS7 定位 - inheritCSS8 定位 - absoluteCSS9 定位 - absolute - 评注CSS10 定位 - z-indexCSS11 定位 - relativeCSS12 定位 - fixedCSS13 定位 - fixed - 广告四、dis
2022-02-08 18:03:25
2269
2
原创 react
react文章目录react说明一、 组件1.函数组件2.类组件:3.独立js文件4. React 事件绑定方法一,通过类组件(有状态组件,动)方法二,通过函数组件(无状态组件,静)5.事件对象,e6.state的基本使用7.setState的修改8.解决this指向9.表单受控组件多种表单优化10.非受控组件11.综合案例(评论)二、组件进阶1. props2.父组件-->子组件3.子组件-->父组件4.兄弟组件5.context 跨组件传递6.props(chrildren)7.props
2022-02-08 10:20:41
743
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人