- 博客(7)
- 收藏
- 关注
原创 JS闭包:深入理解与实战应用
本文深入探讨了JavaScript中闭包的概念与应用。文章首先通过面试场景引出闭包的重要性,指出死记硬背不如深入理解。详细解析了闭包的定义:一个函数与其词法作用域的组合,能够记住并访问外部函数变量。通过代码示例展示了闭包创建、调用及变量保存机制。文章分析了闭包的优缺点,包括变量封装、状态维持等优点,以及内存泄漏、性能影响等缺点,并提出了解除引用、使用WeakRef()等销毁方法。最后列举了闭包在异步编程、防抖节流、状态管理、函数柯里化等场景的实际应用,强调要在实践中加深对闭包的理解。
2025-06-09 16:43:02
611
原创 Vue3 组件通信方法之mitt
Vue3中推荐使用mitt作为轻量级事件总线工具,相比Vue2的eventBus更加简洁高效。使用方法:1)安装mitt插件并创建mitt.ts文件定义事件类型;2)通过emitter.emit()触发事件;3)使用emitter.on()监听事件,需在组件卸载时取消监听。mitt适合简单场景,但不支持异步处理,复杂场景仍需使用eventBus。其核心优势在于代码简洁、类型支持完善,提升了可读性和维护性。注意使用时避免内存泄漏问题。
2025-06-02 21:57:52
217
原创 vue3 + Typescript import “.vue“ 文件时报红问题
在写完index.vue之后,想回去在解决这个问题,结果发现不报红了,经过一番折腾之后发现组件中的ts脚本是不需要默认导出的,在script标签中加上setup字段即可,这样也解决了导入vue文件的问题。因为以前一直是用的js来写脚本,突然换成ts之后有很多问题,今天在做路由设置导入组件的时候一直报红,看了很多相关文档都没有找到问题,最后发现其实是因为ts导出方式和js不太一样。在做完这一步之后依旧在报红,也运行不起来,各方查阅文档后依旧解决不了,干脆摆烂了!
2023-04-14 14:13:50
3451
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人