15个常用的JavaScript工具类推荐
js 常用工具类
- lodash 一个一致性、模块化、高性能的 JavaScript 实用工具库。
- xijs 一款面向复杂业务场景的 javascript 工具库
- ramda 一个很重要的库,提供了许多有用的方法,每个 JavaScript 程序员都应该掌握这个工具
- day.js 一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样, 体积只有 2kb
- big.js 一个小型,快速的 JavaScript 库,用于任意精度的十进制算术运算
- qs 一个 url 参数转化 (parse 和 stringify)的轻量级 js 库
- decimal.js 实现 JavaScript 的任意精度的十进制类型库
表单校验
- Validator.js 一个强大的 js 表单校验库
- Validate.js 致力于提供一种验证数据的跨框架和跨语言方式的 js 库, 已通过 100%代码覆盖率的单元测试
dom 库
- jquery 封装了各种 dom/事件操作, 设计思想值得研究借鉴
- zepto jquery 的轻量级版本, 适合移动端操作
- fastclick 一个简单易用的库,它消除了移动端浏览器上的物理点击和触发一个 click 事件之间的 300ms 的延迟。目的就是在不干扰你目前的逻辑的同时,让你的应用感觉不到延迟,反应更加灵敏。
文件处理
- file-saver 一个在客户端保存文件的解决方案,非常适合在客户端上生成文件的 Web 应用程序
- js-xlsx 一个强大的解析和编写 excel 文件的库
lodash
官方网址:https://www.lodashjs.com/
Github(55.1k): https://github.com/lodash/lodash
lodash 一个一致性、模块化、高性能的 JavaScript 实用工具库。
如下图:
xijs
官方网址: http://h5.dooring.cn/xijs/
Github: https://github.com/MrXujiang/xijs
xijs 是一款面向复杂业务场景的 javascript 工具库,目前已支持:
- parser json 解析器, 在原生 json api 基础上支持序列化和反序列化函数, 正则等
- store 一款支持设置过期时间且支持回调的本地缓存库, 基于 localStorage 二次封装
- formatDate 支持自定义的时间格式化函数
- obj2url 将对象转换成编码后的 url 字符串
- url2obj 将 url 字符串转换成对象
- isPc 判断设备是否为 pc 端类型
- debounce 防抖函数
- throttle 节流函数
- randomStr 生成指定个数随机字符串的函数
- uuid 生成唯一 id
- shuffle 数组乱序, 洗牌算法
- randomStr 生成随机字符串
- transformTree 将扁平数组转换成树结构
- 等等开发中常用的工具函数, 轻松提高业务研发效率.
如下图:
ramda
官方网址:https://ramdajs.com/
Github(22.6k): https://github.com/ramda/ramda
ramda 一个很重要的库,提供了许多有用的方法,每个 JavaScript 程序员都应该掌握这个工具
如下图:
dayjs
官方网址: https://dayjs.gitee.io/zh-CN/
Github(41.5k): https://github.com/iamkun/dayjs/
Day.js 是一个轻量的处理时间和日期的 JavaScript 库,和 Moment.js 的 API 设计保持完全一样.
如下图:
big.js
官方网址: http://mikemcl.github.io/big.js
Github(4.7k): https://github.com/MikeMcl/big.js/
big.js一个小型,快速的 JavaScript 库,用于任意精度的十进制算术运算
如下图:
qs
Github(7.5k): https://github.com/ljharb/qs
qs 是一个 url 参数转化 (parse 和 stringify)的轻量级 js 库
如下图:
decimal.js
官方网址: http://mikemcl.github.io/decimal.js
Github(5.2k): https://github.com/MikeMcl/decimal.js/
decimal.js 实现 JavaScript 的任意精度的十进制类型库
如下图:
validator.js
Github(20.6k): https://github.com/validatorjs/validator.js
Validator.js 是一个强大的 js 表单校验库
如下图:
Validate.js
官方网址:https://validatejs.org/
Github(2.6k): https://github.com/ansman/validate.js
Validate.js 致力于提供一种验证数据的跨框架和跨语言方式的 js 库, 已通过 100%代码覆盖率的单元测试
如下图:
zepto
官方网址: https://zeptojs.bootcss.com/
zepto是 jquery 的轻量级版本, 适合移动端操作
如下图:
fastclick
官方网址:http://labs.ft.com/
Github(18.8k): https://github.com/ftlabs/fastclick
fastclick 一个简单易用的库,它消除了移动端浏览器上的物理点击和触发一个 click 事件之间的 300ms 的延迟。目的就是在不干扰你目前的逻辑的同时,让你的应用感觉不到延迟,反应更加灵敏。
如下图:
file-saver
官方网址: https://www.npmjs.com/package/file-saver
file-saver 一个在客户端保存文件的解决方案,非常适合在客户端上生成文件的 Web 应用程序
如下图:
js-xlsx
官方网址: https://www.npmjs.com/package/file-saver
js-xlsx 一个强大的解析和编写 excel 文件的库
如下图:
推荐阅读
-
推荐三种常用的界面测试工具!
-
趣谈留言队列,搞清楚留言队列到底是什么!-说到消息队列,洪觉大概能猜到人们听到消息队列的反应,大致可以分为以下几类人。 第一类人,懵懵懂懂,刚上大学接触编程,还没用过消息队列,甚至还以为消息队列就是代码里面要新建一个List之类的;第二类人,听过消息队列,了解消息队列,但具体是什么还不是太明白,只知道一说到消息队列,脑海里马上出现了三组词,削峰、异步、解耦;第三类人,用过消息队列,对它有一定了解,但不知道为什么要这样设计,消息队列有什么样的前世今生,是如何演化到现在的模式的?**第四类人,已经对消息队列有了足够的了解,可以阅读本帖作为复习和温习。**你属于哪一类?无论你对消息队列了解多少,读完这篇文章后,我相信你都会有所收获。 什么是消息队列?我们为什么要使用消息队列?真的只是因为它看起来很勉强、很常用吗?当然不是,一项技术的出现往往是为了解决某种痛点,我们就从这个痛点出发,看看消息队列到底是为了解决什么问题而诞生的。 相信大家在工作之前,或者工作中接触单片机的次数会多一点,不管什么业务都一股脑塞进一个系统里,这种情况下接触消息队列的场景会比较少。但随着业务的增长,量上去了,单机系统就很难维护了,也扛不住并发量的增长,就需要把原来的单体应用拆分成多个服务。例如,牛奇网采用分布式架构,将原来的单体系统拆分成用户服务、题库服务、求职服务、论坛服务等,每个分布式节点都有一个集群,保证高可用性。 那虽然在这样的微服务架构下,如果某个核心业务并发量过大,系统就扛不住了。比如淘宝、淘票票、拼多多、京东等电商场景中的支付场景,你在某宝下单并支付后,调用支付服务,完成支付后,还需要更新订单的状态,这个时候就需要调用订单服务,那我们平时也下单,除了简单完成这些操作外,还会给你相应的积分;商家也会收到订单消息,并给您发送旺旺消息,确认订单无误;同时,也会给您发送消息,确认订单无误。确认订单无误;同时您还可以查看您的物流状态;还有系统为了给您推荐更适合您的商品,会根据您的订单做类似的推荐等等,我说的这些都是当我们下单后,肉眼可以感知到系统所做的动作。 **一个支付动作如果还需要调用那么多服务,等他们响应成功,最后再告诉用户你支付成功了,用户在系统中的整个体验会非常糟糕。**设想一下,假设请求服务+处理请求+响应总共需要 50ms,我们上面列出的场景:支付服务、订单服务、积分服务、商家服务、物流服务、推荐服务,总共需要 300ms。
-
开发工作中常用的实用工具推荐!
-
工作中常用的实用工具推荐!
-
在 Java 中复制对象有哪些好的工具类?(推荐收藏)
-
常用论文写作校对工具推荐:持续发挥作用的插件
-
程序员常用的记事本工具推荐
-
15个常用的JavaScript工具类推荐
-
【Java文件读取的常用工具类总结收藏】