11年前端开发积累 · JavaScript 常用工具函数库
将11年前端开发积累的常用 JavaScript 工具函数封装笔记进行开源,涵盖类型判断、日期处理、数字金额、字符串操作、表单校验、数组对象、DOM 操作、本地存储、事件处理等 20 个常用场景。
- 零依赖 - 纯原生 JS 实现,无任何第三方依赖
- wjs_ 前缀 - 统一命名空间,不污染全局,无命名冲突
- 按需引入 - 20 个独立模块,可单独引入也可完整引入
- 完整注释 - 每个函数都有标准 JSDoc 注释,含参数说明和返回值
- 全浏览器兼容 - 兼容所有主流浏览器,早期版本兼容 IE9+
- 持续维护 - 从 2015 年持续更新维护至今
<!-- 引入日期工具 -->
<script src="src/date.js"></script>
<script>
// 格式化日期
var dateStr = wjs_date_format(new Date(), 'yyyy-MM-dd hh:mm:ss');
console.log(dateStr); // 2024-01-15 10:30:00
// 计算相对时间
var time = wjs_date_relativeTime(new Date('2024-01-10'));
console.log(time); // 5天前
</script>import { wjs_date_format, wjs_date_relativeTime } from 'wjs-js-toolkit/src/date.js';
// 格式化日期
const dateStr = wjs_date_format(new Date(), 'yyyy-MM-dd');
// 相对时间
const time = wjs_date_relativeTime(new Date('2024-01-10'));| 模块 | 文件 | 说明 | 函数数量 |
|---|---|---|---|
| 🔍 类型判断 | type.js | typeof、toString、instanceof 等多种判断方式 | 80+ |
| 📅 日期时间 | date.js | 日期格式化、计算、解析、相对时间、节假日 | 100+ |
| 💰 数字金额 | number.js | 金额格式化、高精度运算、数字转中文大写 | 120+ |
| 📝 字符串 | string.js | 截取、转换、格式化、脱敏、编码解码 | 100+ |
| 📊 数组操作 | array.js | 去重、排序、分组、筛选、扁平化 | 110+ |
| 🧩 对象操作 | object.js | 深拷贝、合并、属性操作、序列化 | 90+ |
| 🌐 DOM 操作 | dom.js | 元素查询、创建、样式操作、类名操作 | 100+ |
| 💾 本地存储 | storage.js | localStorage / sessionStorage 封装,支持过期 | 60+ |
| ✅ 表单校验 | validate.js | 手机号、邮箱、身份证、银行卡、车牌号 | 90+ |
| 🍪 Cookie 操作 | cookie.js | 设置、读取、删除、过期时间、域设置 | 50+ |
| 🔗 URL 处理 | url.js | 解析、拼接、参数操作、编码解码 | 120+ |
| ⚡ 事件处理 | event.js | 事件绑定、防抖节流、事件委托、事件总线 | 130+ |
| 🔄 函数式编程 | function.js | 柯里化、组合、偏应用、记忆化、管道 | 110+ |
| ⚙️ Promise 工具 | promise.js | 并发限制、重试、超时、批量处理 | 90+ |
| 📋 深拷贝/深度操作 | deep.js | 深拷贝、深度对比、深度合并、深度遍历 | 70+ |
| 🗂️ 集合处理 | collection.js | Map、Set、WeakMap、WeakSet 操作 | 200+ |
| 🎲 随机生成 | random.js | 随机数、随机字符串、随机颜色、模拟数据 | 100+ |
| 🌍 浏览器检测 | browser.js | 浏览器类型、设备、系统、API 特性检测 | 100+ |
| 📈 性能监控 | performance.js | 性能计时、Web Vitals、内存监控、FPS | 120+ |
| 🛠️ 通用工具 | common.js | 事件发射器、状态机、互斥锁、熔断器 | 200+ |
wjs-js-toolkit/
├── src/ # 工具函数源码
│ ├── type.js # 类型判断
│ ├── date.js # 日期时间
│ ├── number.js # 数字金额
│ ├── string.js # 字符串工具
│ ├── array.js # 数组操作
│ ├── object.js # 对象操作
│ ├── dom.js # DOM 操作
│ ├── storage.js # 本地存储
│ ├── validate.js # 表单校验
│ ├── cookie.js # Cookie 操作
│ ├── url.js # URL 处理
│ ├── event.js # 事件处理
│ ├── function.js # 函数式编程
│ ├── promise.js # Promise 工具
│ ├── deep.js # 深拷贝/深度操作
│ ├── collection.js # 集合处理
│ ├── random.js # 随机生成
│ ├── browser.js # 浏览器检测
│ ├── performance.js # 性能监控
│ └── common.js # 通用工具
├── index.html # 可视化展示页面
├── LICENSE # MIT 开源协议
└── README.md # 项目说明
| Chrome | Edge | Firefox | Safari | IE(早期版本) |
|---|---|---|---|---|
| ✅ 全版本 | ✅ 全版本 | ✅ 全版本 | ✅ 全版本 |
所有基于 Chromium 内核的浏览器(360、夸克、搜狗、UC等)均完全兼容。
MIT © wjs (王金盛) 2015-2026