# dlsjs-doc **Repository Path**: izeya/dlsjs-doc ## Basic Information - **Project Name**: dlsjs-doc - **Description**: 用于dlsjs的文档站 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-02-06 - **Last Updated**: 2025-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

DLS.JS

Dynamic Language Scope

扩展你自己的 领域驱动语法 ,让动态编程更简单


> DLS.JS是一个通过 领域驱动语法 去处理 复杂结构数据 的JavaScript库。 > > 我参考了 *JSON Schema* 的索引规范,通过 *ES6* 的 *Proxy* 创建读写代理,支持了一种自定义读写语法;在那之后,我又围绕着这个语法,做了一些其他的工具函数,下面我会简单的介绍一下。 > > *虽然你可能已经知道使用Proxy意味着什么,但我还是要强调一下。这个函数不支持IE11浏览器。* ```js import {RW} from 'dlsjs' // 比如获取到一个对象,它的内容不固定 let ticketData = {} // 现在需要给他的某个深层属性赋值,这就可以用到我们的 RW 函数 RW(ticketData)['#/assignInfo/assignUser/name'] = 'Tom' // 上面这行语法等价于 if(!ticketData.assignInfo) ticketData.assignInfo = {} if(!ticketData.assignInfo.assignUser) ticketData.assignInfo.assignUser = {} ticketData.assignInfo.assignUser.name = 'Tom' ``` > 借助这个特性,或者说类似的设计模式,我还提供了很多常用函数,比如: - 🕒 不改变内存地址的赋值 (deepAssign, deepMerge) - 💪 深度对比数据的不同属性 (deepDiff) - 🔥 链式操作语法驱动 (Chain) - 🌐 领域JSON解析 (deepConvert) - 📦 树,表,维表 快捷操作 (list2Tree, treeFind, treeForEach) - 👫 值判断与特征判断 (isRangeIn, matchRules) --- ## 快速开始 ### 文档 访问 [qwerjs.top](https://qwerjs.top/) 网站查看更详细的文档 ### 安装 ```console npm install dlsjs --save ``` 📚[API 参考](http://qwerjs.top/)