首页
关于
MicroMatrix
明月别枝惊鹊,清风半夜鸣蝉
累计撰写
116
篇文章
累计创建
36
个标签
累计收到
0
条评论
栏目
目 录
CONTENT
以下是
JavaScript
相关的文章
2025-05-29
策略模式实战:优雅处理AI对话流式消息
前言 最近开发AI对话功能时,遇到了对话显示的复杂需求。该场景需要处理AI返回的流式数据,涉及多种判断逻辑:数据是否属于新增对话、是否为增量更新、是否涉及工具调用等。若仅使用if/else模式,代码会迅速臃肿且逻辑难以维护。为此,我通过设计模式重构了代码结构,最终采用策略模式成功解耦了各类判断逻辑。
2025-05-29
51
0
0
share
2025-02-18
浏览器进程模型揭秘:渲染主线程与异步机制
浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 何为线程? 有了进程后,就可以运行程序的代码了。 运行代码的「人」称之为「线程」。 一个进程至少有一个线程,所以在进程开启后会
2025-02-18
8
0
0
thinks
2024-12-14
SVG 手写板实现指南:替代 Canvas 的轻量级方案
日常开发中,经常会遇到手写板的需求。对于大部分人来说使用 canvas 画布是最为方便的,而且也能很好的节省性能。这里在可汗学院学习的时候发现他们的答题手写用了 svg 的实现方法。这十分巧妙。不用考虑题目如何在 cavnas 画布上渲染了。 实现大致逻辑 通过鼠标的坐标绘制 svg 标签中的 pa
2024-12-14
2
0
0
share
2024-12-12
提升前端流程可扩展性的设计模式应用:责任链与工厂模式
在开发涉及多步骤的前端流程时,传统的“硬编码”方式会导致代码耦合度高、流程不易扩展、维护成本大。当我们希望在流程中增加或修改某个步骤时,常常需要在多处改动代码,这不利于项目的长期维护。为了克服这些问题,我考虑使用责任链模式和工厂模式来优化这类需求。责任链模式能够将每个步骤解耦,使每个步骤独立处理,互
2024-12-12
3
0
0
share
2024-06-05
《你不知道的JavaScript》第三章笔记
语法 JavaScript中对象的定义方式有 2 种,声明或构造的 2 种方式。 对象的文字形式 let a = { name: "micromatrix" }; 对象的构造形式 let obj = new Object(); obj.name = "micromatrix"; 类型 JavaS
2024-06-05
5
0
0
share
2023-08-12
手写一个简单的Swiper
前言 起初我是要编写一个画布的组件功能的。考虑到目前我的项目代码有 vue2,vue3,本人还在学习 React。所以我想编写一个可以不受框架限制的组件。正好借着这个机会学习一下面相对象开发组件。 分析组件需求 这一步要明确组件需要哪些基本功能。首先从使用方面来说,只需要满足指定的 dom 就行,然
2023-08-12
3
0
0
share
2023-07-11
《你不知道的JavaScript》第四章笔记
类理论 类是对现实世界实体的抽象,通过封装数据和相关的操作方法。继承允许创建基于通用类的专门化子类。这样的结构促进了代码重用和组织。在类层次结构中,子类可以重写父类方法以展现特定行为,这种机制称为多态。面向对象编程将数据结构视为具有相关操作的实体,以整洁的方式模拟现实世界的复杂性。 类是一种设计模式
2023-07-11
3
0
0
share
2023-07-10
如何优雅的避免代码嵌套
避免过度代码嵌套是保持代码可读性和可维护性的关键步骤,特别是在编程中。以下是每一种方法,并附上在未优化代码和优化后代码的例子。 表驱动法 这种方法通过使用查找表替代复杂的条件语句来简化代码,减少嵌套。 未优化代码示例: function calculateTax(income) { let ta
2023-07-10
3
0
0
share
2023-07-02
基于Iframe开发的微前端
前言 在前端的开发中,经常会遇到这样的需求。A 项目中的某个页面或者新增一个模块,需要嵌入 B 项目。然后 B 项目有可能需要 C 项目这种套娃式的项目嵌套。如果你是新开始做项目,那么我推荐你使用乾坤或者其他的微前端框架。但是如果你像我一样,项目以及成型,而且有很多公司自己的配置和域名不一样的各种各
2023-07-02
3
0
0
share
2023-06-15
基于esbuild搭建组件开发框架
前言 在日常的前端开发中,经常需要开发一些组件。通常我们是基于某个特定的框架来开发,例如 vue,react 等等。对于页面的样式组件来说,没有什么太多的计较。但是如果开发一个画布工具或者一个音乐播放器的组件,那么这个组件必然会有很多功能,而且对于 vue2/vue3,react 版本,你可能每个都
2023-06-15
1
0
0
share
1
2