Skip to content

Matrix

Matrix 是一个现代的 JavaScript 工具库,旨在提供简洁、高效、易用的工具函数。

Matrix 的命名灵感来源于矩阵(Matrix),矩阵是一个数学概念,用于表示多维空间中的点、向量和变换。Matrix 的命名也体现了其多维、灵活和强大的特性。

功能分类

Matrix 的工具函数按照以下维度进行分类:

点击查看功能结构图Matrix功能结构图

Base 基础工具

与业务无关的纯工具函数:

  • 不依赖特定环境
  • 高复用性
  • 基础能力支撑
  • 纯函数实现

DOM 操作

浏览器 DOM 相关操作:

  • 元素操作和判断
  • 事件处理
  • 样式操作
  • 节点遍历

BOM 操作

浏览器对象模型相关:

  • 存储管理
  • 设备信息
  • Cookie 信息
  • 环境检测

Format 格式化

数据格式转换工具:

  • 数据格式转换
  • 展示格式处理
  • 单位换算
  • 标准化输出

Bridge 桥接层

客户端通信相关:

  • 客户端通信
  • 协议处理
  • 数据转换
  • 状态同步

Business 业务工具

特定业务场景工具:

  • 特定业务场景
  • 领域相关
  • 复合功能
  • 场景化解决方案

使用示例

typescript
// NPM 方式引入
import { convertToCamelCase, isEmpty, debounce } from '@fu/matrix';

// UMD 方式引入
const { convertToCamelCase, isEmpty, debounce } = window.fuMatrix;

// 字符串转驼峰
convertToCamelCase({ user_name: 'John', email_address: 'john@example.com' }); 
// => { userName: 'John', emailAddress: 'john@example.com' }

// 检查空值
isEmpty(''); // => true
isEmpty([]); // => true
isEmpty({}); // => true

// 防抖函数
const debouncedFn = debounce(() => {
  console.log('执行防抖函数');
}, 300);

关于数组操作

Matrix 专注于提供原生 JavaScript 没有的实用功能,对于数组操作建议直接使用原生方法:

typescript
// 推荐:直接使用原生数组方法
const filtered = [1, 2, 3, 4].filter(x => x > 2);
const found = [1, 2, 3, 4].find(x => x > 2);
const mapped = [1, 2, 3].map(x => x * 2);

特性

  • 🚀 完全使用 TypeScript 编写,提供完整的类型定义
  • 📦 支持 Tree-shaking,按需打包
  • 🔧 模块化设计,功能分类清晰
  • 📱 支持多平台适配
  • 🛡️ 完整的单元测试覆盖
  • 📖 详细的文档和示例
  • ⚡ 零依赖,不重复造轮子

环境支持

  • 现代浏览器 (ES6+)
  • Node.js 14+
  • 支持 ESM 和 UMD

文档导航