- 博客(209)
- 收藏
- 关注
原创 令人抓狂的 JS 赋值顺序!
本文简述 JavaScript 中的连续赋值操作,尤其是针对表达式 a.x = a = { n: 2 }; 的行为进行详细拆解,这一现象揭示了 JS 表达式求值中的先引用捕获,再右值计算,最后执行赋值的关键逻辑。
2025-05-16 08:30:00
874
原创 那天,我在一个字符串里发现了幽灵
零宽字符是什么呢?一个看不见却真实存在的特殊字符,常用于控制文本格式或隐形标记,但也容易引发排查困难的“幽灵”问题。
2025-05-15 08:30:00
858
原创 JavaScript 中浮点数精度问题导致显示异常,解决方案解析
JavaScript 使用的是 IEEE 754 浮点数标准,很多小数无法精确表示,导致计算时出现精度误差 —— 可通过 toFixed、Math.round 等方式解决。
2025-05-14 08:00:00
809
原创 从 Set、Map 到 WeakSet、WeakMap 的进阶之旅
Set 和 Map 是可遍历的强引用集合,分别用于存储唯一值和键值对,而 WeakSet 和 WeakMap 是不可遍历的弱引用集合,仅接受对象作为键或值,适用于避免内存泄漏。
2025-05-13 11:15:28
1255
原创 Vue 组件行为失控?inheritAttrs 可能是罪魁祸首!
一句话概括:inheritAttrs 是 Vue 组件中的一个配置项,用于控制非 prop 的 attribute 是否自动绑定到组件根元素上,默认启用,设置为 false 后需手动通过 $attrs 显式绑定到指定元素。
2025-05-12 16:53:32
955
原创 flex 还是 inline-flex?实际开发中应该怎么选?
display:flex 与 display:inline-flex 在弹性布局本质上是相同的,它们的差异仅在于容器自身在文档流中的展示方式。
2025-05-09 16:42:30
926
原创 从 v-model 到 defineModel:Vue3 正在悄悄改变开发习惯
表面上是小小语法更新,背后是 props、emit、双向绑定、编译优化的完美结合。掌握它,才能真正写出未来式的 Vue3 组件。
2025-04-30 08:30:00
826
原创 叮咚!你的第一封站内信到了!
站内信(In‑App Notification),简单来说,就是“网站/应用内部给我们的消息推送”,就像一个内置的小邮箱、短信系统。
2025-04-25 08:30:00
244
原创 加了防抖就能防住重复提交?测试:我不答应!
在实际开发中提交按钮未防止重复点击时,可能导致的多次网络请求问题,通过封装点击锁 useClickLock 与 v-bLoading 指令的方式,有效实现按钮防抖与加载反馈,提升用户体验与系统稳定性。
2025-04-23 08:30:00
712
原创 同样是解码,结果却天差地别?可能用了错的函数!
encodeURI 与 encodeURIComponent 是前端处理 URL 编解码的关键函数,理解它们的区别能有效避免参数丢失、结构错乱等问题。
2025-04-22 08:00:00
1143
原创 ES6 Promise 的底层魔法:一步步实现异步控制器
Promise 是 JavaScript 处理异步操作的强大工具,能够避免回调地狱。它像一个承诺,告诉我们未来某个时刻会返回一个结果,成功时执行 then,失败时执行 catch,让异步代码变得更易理解和管理。
2025-04-18 08:00:00
615
原创 从冗余到极致精简,Tree Shaking 真正做了什么?
Tree Shaking 是 JavaScript 应用打包优化的重要技术之一,其通过深入的静态分析与依赖图构建,将“死代码”剔除,极大优化了最终输出文件的体积和性能。
2025-04-17 08:30:00
992
原创 解密 Vue 打包策略
本文详解 Vue 打包中路径处理机制,深入对比静态与动态路径差异,以及 webpack、vite、vue-cli 的资源管理方式,搞懂源码与构建路径的本质。
2025-04-15 10:34:11
798
原创 不可低估 Vue 指令的威力
指令是 Vue 提供给开发者的 DOM 操作扩展点,底层通过编译 + 虚拟 DOM patch 生命周期钩子与真实 DOM 绑定,实现对 DOM 元素的控制。
2025-04-11 08:45:00
684
原创 keep-alive:我不死,只是沉睡;onActivated:我醒了!
keep-alive 是 Vue 提供的强大缓存机制,能够智能缓存组件实例,避免不必要的销毁和重建,显著提升性能,特别适用于复杂的路由切换和高频繁组件更新场景。
2025-04-10 09:30:00
2260
原创 表单验证卡壳了吗?ElForm 校验机制详解
ElForm 的校验机制本质上是一个结合 Vue 响应式系统、事件机制和自定义规则的灵活校验框架。它通过监听表单项的输入事件触发验证规则,逐个字段验证数据是否符合规则,并根据验证结果更新 UI 显示错误信息。
2025-04-08 09:00:00
722
原创 Pinia 实战指南:Vue 3 的新一代状态管理工具
Pinia 是为 Vue 3 设计的现代状态管理库,具有简洁的 API、响应式支持和优秀的类型推导,提供比 Vuex 更加灵活、易用的解决方案,适用于中小型到大型应用的状态管理需求。
2025-04-07 13:47:29
784
原创 VuePress:打造本地方法库
VuePress 是一个基于 Vue 的静态网站生成器,它可以将 Markdown 文档转换为美观、可导航的文档网站,适用于技术文档、个人博客和知识库。
2025-04-04 08:00:00
902
原创 Vue 项目中大量报红提示:JSX 元素类不支持特性,因为它不具有“props”属性。
报红提示:xxx 不能用作 JSX 组件 或者 JSX 元素类不支持特性,因为它不具有“props”属性。
2025-04-03 10:00:00
430
原创 Vue 3 自定义权限指令 v-action
在 Vue 3 项目中,权限控制是常见需求。使用 v-action 自定义指令,可以自动控制元素的显示与隐藏,让权限管理更简洁高效。
2025-04-02 10:56:00
357
原创 单向数据流:Vue 响应式魔法 vs React 不可变信仰
Vue 的单向数据流通过响应式系统 + 事件机制实现高效更新,降低心智负担;React 则通过不可变数据 + 函数式组件强调控制权。
2025-03-17 08:30:00
623
原创 Git Worktree 实现 “一边修生产Bug,一边写新需求”
git worktree 是一个强大的功能,可以帮助开发者在同一个 Git 仓库中同时处理多个分支和任务。
2025-03-16 09:45:00
790
原创 深入解析浏览器回流优化与缓存策略
浏览器回流优化是指通过减少或避免不必要的回流(重排)操作,提高页面渲染性能。回流发生在DOM元素的尺寸、位置或结构变化时,导致浏览器重新计算布局。
2025-03-15 10:00:00
751
原创 TypeScript:为什么应该停止使用 Enum?
本文一一解答:官方究竟有没有弃用 enum 呢?enum 存在哪些问题呢?有没有什么替代方法呢?
2025-03-13 08:30:00
1744
原创 Trae 国内版正式上线!一键安装,解锁 AI 编程
Trae 作为国内首款 AI 原生 IDE,深度融合 AI 编程能力,提供 Chat 模式 和 Builder 模式,既能作为智能助手优化代码,也能主导生成项目结构。
2025-03-12 08:00:00
1632
1
原创 [Vue warn]: Do not use built-in or reserved HTML elements as component id: base.
解决方法:[Vue warn]: Do not use built-in or reserved HTML elements as component id: base
2025-03-11 09:15:00
242
原创 [Vue warn]: Runtime directive used on component with non-element root node.
[Vue warn]: Runtime directive used on component with non-element root node. 的解决方法
2025-03-11 08:30:00
458
原创 Vue 3 + Element Plus 集成指南(内含彩蛋)
本文包含将 Element Plus Dialog 封装为极简函数调用的方案,支持链式调用和灵活扩展(非常有帮助)。
2025-03-10 09:00:00
1941
原创 告别混乱之 Cookie vs Session
Cookie 是客户端存储的「钥匙」(保存用户标识),Session 是服务端存储的「保险箱」(保护敏感数据),二者可以通过 Session ID 联动解决 HTTP 无状态问题。
2025-03-09 08:45:00
776
原创 解锁浏览器空闲时间:requestIdleCallback
requestIdleCallback 允许开发者在浏览器空闲时执行非紧急任务,通过监测执行栈和任务队列的状态来判断空闲时间,并提供 deadline 对象以获取剩余时间和超时处理,优化性能和用户体验。
2025-03-07 08:30:00
1994
原创 解锁 ES6 访问器属性 Getter & Setter
ES6 访问器属性(getter/setter)用于拦截对象属性的读取和赋值操作,提供自定义逻辑,但需避免直接访问自身属性以防止递归死循环等一些点。
2025-03-05 09:45:00
969
原创 解析 event as keyof typeof xxx 的含义
在 TypeScript 中,typeof、keyof 和 as 这三个关键字在类型推导、类型操作以及类型转换中非常重要。
2025-03-04 09:30:00
767
原创 VS Code 本地运行 TypeScript 全攻略
在 VS Code 本地运行 TypeScript,需先安装 typescript 和 ts-node,然后使用 ts-node file.ts 直接执行,或 tsc 编译后用 node file.js 运行,并通过 tsconfig.json 进行项目配置优化。
2025-03-03 09:30:00
2638
原创 从 ES5 到 ES6 解锁 JavaScript 私有变量
从 ES5 及更早版本的闭包模拟到 ES6 私有字段的正式引入,JavaScript 私有变量的演变实现了更严格的封装,本文将详细介绍相关内容。
2025-03-01 09:45:00
633
原创 ES5 vs ES6 中 Object.defineProperty() 不同
Object.defineProperty() 是 ES5 引入 的方法,用于在对象上精确定义或修改属性,特别是控制属性的可写性、可枚举性、可配置性 和 getter/setter。在 ES6 中,它仍然可用,但随着 class 语法、Proxy、Reflect 的引入,一些功能可以用新的方式实现。
2025-02-28 09:45:00
1046
原创 前端必备!深入解析 Class 降级
class 降级主要是为了兼容老旧浏览器,特别是 IE11 及更早版本。主要方式有手动降级(转换为 ES5 构造函数和原型继承)和使用 Babel 自动转换。
2025-02-27 09:15:00
1730
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人