- 博客(7)
- 收藏
- 关注
原创 Pinia的初始化错误
这个错误提示表明你在应用初始化 Pinia 之前就尝试访问或使用 Pinia store,这是 Vue 3 + Pinia 应用中常见的问题。useStore()
2025-07-11 11:19:54
622
原创 JavaScript的运行机制
JavaScript采用单线程事件循环机制处理异步操作,避免多线程冲突。同步代码通过执行栈(LIFO)运行,异步回调则进入任务队列。事件循环在栈空时从队列中取出任务执行。任务分为高优先级的微任务(如Promise)和低优先级的宏任务(如setTimeout),执行顺序为:清空微任务→执行一个宏任务→循环。浏览器和Node.js的实现细节略有不同。这种机制保证了非阻塞操作和页面流畅性,是理解JavaScript异步编程的核心。
2025-07-07 15:16:41
544
原创 JavaScript的冒泡排序机制
冒泡排序是一种简单的基础排序算法,通过反复比较相邻元素并交换顺序错误的元素来实现排序。其JavaScript实现包含两层循环:外层控制比较轮数,内层执行相邻元素比较和交换。优化版通过swapped标志检测是否已有序来提前结束排序,最好时间复杂度可降至O(n)。虽然实现简单,但时间复杂度为O(n²),仅适合小规模数据。实际应用中,大规模数据建议使用更高效的排序算法。
2025-07-03 20:29:46
396
原创 JavaScript 中的 some() 方法详解
JavaScript数组的some()方法用于检测数组中是否至少有一个元素满足指定条件。该方法采用回调函数作为参数,一旦在遍历过程中找到符合条件的元素就会立即返回true并停止遍历,否则返回false。示例展示了如何用some()检查数组中的偶数值,以及如何在Vue路由配置中应用该方法来验证当前路径。相比其他数组方法,some()具有短路评估的性能优势,特别适合处理大型数组。该方法与every()、find()等方法形成互补,为数组操作提供了灵活的解决方案。
2025-07-03 20:20:00
494
原创 vue数据劫持
Vue通过数据劫持实现响应式系统:Vue2.x使用Object.defineProperty()劫持对象属性的读取和赋值,但存在无法检测新增属性、数组变化等局限性;Vue3.x改用Proxy代理对象,解决了这些问题,支持全对象操作劫持且性能更优。数据劫持的核心是在getter中收集依赖,setter中触发更新,从而实现数据变化自动更新视图的功能。
2025-07-02 16:11:51
564
原创 购物车案例中 JavaScript 删除父元素(DOM 节点)几种常见的方法
JavaScript删除父元素的5种方法:1.直接使用remove()方法删除指定父元素;2.通过parentNode.removeChild()实现兼容性更好的删除;3.在事件处理函数中使用event.currentTarget.parentNode获取并删除父元素;4.采用事件委托机制批量处理相似元素的父节点删除;5.结合CSS过渡动画提升删除交互体验。关键点包括获取父节点的方式选择、事件处理技巧以及动画效果的实现。
2025-07-02 09:52:00
421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人