推荐一款基于家瓦斯 cover 的开元可丝袜图表库 echese, 他可以流畅的运行在 pc 和移动设备上,京东当前绝大部分浏览器,这是插件的官方地址。先来看看他的所有视力, 可以看到视力中有丰富的可视化类型,有常规的折线图、柱状图、 k 线图,还有用于地理数据可视化的路,路径图等。 接下来通过快速入门来实现我们的第一个图标,可以看到这里有一段完整的代码,我们一键复制,然后新建一个 dm 点 htm 文件,接着用编辑器打开,将刚刚复制的代码粘贴进去。 接下去我们需要获取到一恰的文件,来到代码中引路,一恰的文件有三种获取方式,分别是 github 获取、 mpm 获取以及 cdn 获取。为了方便我们直接用 cdn 的方式引入,复制一下所有的技能, cdn 的路径,替换掉原来的地址。在浏览器中打开 dm 文件查看效果, 可以看到这是一个柱状图, x 则是产品名, y 则是产品对应的销量。一个简单美观的图标就这样诞生了,这就是一掐指的使用。
粉丝75获赞633

最好用的加瓦斯佩特工具库在写 gs 代码时,我们经常要操作数组集合、字符串等,自己写会很麻烦,性能也不够高。 瑞瑞库提供了很多对 js 封装的方法,通过引入他可以用更少的代码实现同样功能。但前端技术也变态快,很多新项目都采用前端框架来开发,传统的杰瑞瑞也没有原来那么流行了。这时神器来了, 是一致性、模块化、高性能的加瓦斯佩特实用工具库,提供了这种性能极高的 gs 封装函数,项目必备。 现已开原至跟踏,坐拥四万多的 spa 面试前端的朋友一定要去研究下他的原码。关注我,每天一个脱发小技巧!

web storm 前端开发工具介绍,最智能的 javascript id, 轻松进行 javascript 开发, 功能齐全。 web storm 二零二二年二月最新变化,差点忘了说在哪里下载,和 p h p storm 一样就不多说了,继续看最新变化。 对 angular 独立组件的支持针对 view 三的更新 type script 四点七支持 angular j s 支持终止。由此可见,还在用 angular j s d 小伙伴得抓紧了。集成开发者工具, 内置远程开发工作流针对刀客的改进,针对 http 客户端的新功能,捆绑了 jetbrain space, 集成用户体验运行当前文件的新方式。 功能专门针对 javascript 打造开箱急用体验针对 javascript 的专用环境智能编辑器代码补全,代码质量分析安全重购快速文档。 还有更多代码编辑增强功能。集成开发者工具 javascript 调试单元测试高级版本控制集成集成终端许多其他集成工具导航和搜索 团队合作, 可自定义环境 ui 自定义 许多按键映射可供选择。知识库了解 web storm, 看看知识全英文,你们看吧,我也看不懂。 好吧,这次让你看看,看看这玩意到底多少个刀了!


分享几个 react ui 组建库三米底赞是抖音团队的力作,简洁清亮,可轻松应对复杂场景,品质可靠。目前 github 上有六点五 k star。 td 赞是诞生于腾讯内部的 ui 组建库,设计工整,文档清晰,支持 react 及腾讯小程序。 aunt 点赞是阿里的前端 ui 库,主要面向企业级中后台系统, 是国内 react 项目首选组建库。目前 github 上有八十三 k star, 还有来自 google 的 material 和微软的 fluent ui 也值得参考。

给大家分享一个 converse 的库 fabric, 这是 g s, 那么这个库在 getahab 上的 star 有二十二 k。 我相信好多同学学 converse 的时候,大家都会觉得可是一个特别难学的东西。比如我要画一个矩形,定了一个 converse, 宽是八百,高是六百, 我获取这个 comes, 然后我给他填充一个红色,然后我从 xy 都是一百的位置画一个宽高都是五十的矩形,画出来是这种效果。如果咱们要旋转四十五度呢?他需要 这两行代码,这两行代码对于好多同学来说都不知道是怎么算出来的,这算出来就是现在四十五度。不过咱们是用这个分装好的库呢,咱们可以看一下,就非常的简单,这个地方有一个这个配置线角度,咱们改成四十五度就可以了,你看很轻松的就实现四十五度了,而且他官方 这样还提供了一些好玩的,我在这上面可以添加文字,然后也可以添加动画,也可以添加图片,包括监听鼠标的事件,还有画笔的效果。那使用场景,有些图片我们需要用 pro 去做的时候,这个时候我们可以低于这个库去做一些产品和应用, 可以导出一张新的图片,看这个就是咱们导出之后的图片。如果你们团队有康复式的需求,我推荐你们使用这个库,使用这个库能减少我们很多的代码。如果你们有其他的康复式的库,欢迎评论区留言。

好,今天我们来深入聊一个特别有意思的工具, publint。 这东西的目标听起来简单,但其实对于我们发布 n p m 包来说,简直是性命攸关,就是确保你发布的商品包在任何人的电脑上都能跑,而不是在你自己那台机器上。 那么今天我们会怎么走呢?首先啊,咱们得从一个每个开发者都可能踩过的坑开始,也就是发布的痛点。 然后我会带你认识 public 这个包警察。接着,我们会深入他的内部,看看他到底是怎么工作的,他检查的规则又有什么门道。最后,我们会聊聊怎么把它自动化,以及上升到更高层面,探讨一下发布的哲学。 好,咱们先从第一部分开始聊聊发布的痛点,也就是你本地的代码和你最终发布出去的代码之间那道看不见但非常危险的鸿沟。 你看 logrocket 有 篇文章里有句话我觉得说得特别到位,一个小小的打包书呼就能迅速摧毁一切。这句话简直是把我们发布包时候那种如履薄冰的感觉给说透了 来。我们想象一个再也普通不过的场景,你写了一个超级简单的 esm 模块函数,就是导出一个问候语,你在本地跑啊,测啊,哎,一切正常完美。 但是真正的地雷往往埋在你看不见的地方,比如 packageton jason。 你 看这里 type 字段被设置成了 commonjs, 这下好了,一个声明,自己是 commonjs 的 包,里面却装着 esm 语法的代码,这不就是个定时炸弹吗?这就是最折磨人的地方。你会抓着头发问自己,为什么他在我电脑上明明跑的好好的,怎么一发布出去就炸了? 这种在我电脑上好好的问题,恰恰就是咱们今天要解决的核心。好,那怎么解决呢?这就引出了我们今天的主角第二部分, hobblet。 你 要记住他最牛的一点,他检查的不是你的原代码儿,而是你最终要发出去的那个成品。所以, pubblet 到底是个啥呢?简单来说,它就是一个专门给你 n p m 包体检的工具, 帮你检查各种常见的错误,确保你的包能在五花八门的环境里,比如 no g s v t webpack 下都能正常工作。哎,你可能会问,这不就跟 e s lint 差不多吗?差远了。咱们来做个对比,你就彻底明白了, e s lint 呢?他关心的是你的原代码,是代码风格、质量这些,而 publint 根本不看你的原代码写得漂不漂亮,他只关心你打包好准备发布的那个最终产物,它的结构对不对,配置有没有问题。 所以你看 e s lint 的 规则,很多是主观的,可以配置,但 publint 的 规则都是来自各个运行环境的客观要求,没得商量。 听起来很神奇,对吧?它到底是怎么做到检查最终产物的呢?好,咱们这就来揭秘一下它的工作原理,看看这背后的魔法是怎么实现的。 这就是 publint 的 魔法所在,它的核心工作流是这样的,第一步,它会先看看你用的是 npm 还是 pmp 或者 yarn, 但是最关键的一步来了,第二步,它不会去读你词盘上的原文件,而是在内存里模拟执行 npm pack 命令, 这个命令会生成一个到 tgg 压缩包,这个包里的东西跟你将来要发布到 npm 上的东西是一模一样的。然后第三步,他在分析这个压缩包里的文件和 package json, 最后基于这个分析结果给你报稿。 你看这一下明白了吧?最最关键的一点就是, public 检查的就是你的用户最终会从 n p m 下载到的那个一模一样的文件包。这也就完美解释了为什么它能揪出那些只有用户下载安装后才会爆炸的 bug。 光说原理可能有点虚,咱们来点实在的深入剖析一条它最重要的规则,来看看所谓的双重包风险到底是个啥。好,我们来看这条规则。 exports types, invalid format。 如果你想让你的包同时支持 esm 的 import 和 common js require, 也就是所谓的双模块包,那么一个标准的 export 配置就得长成这个样子,给 import 和 require 分 别指定入口文件,更重要的是还要分别指定它们的类警生命文件。 看到这儿,你可能就会有个疑问了,为什么非得要 dvr 点 ts 和 dvr 点 cts 这两种不同的类型声明文件呢?我用一个通用的 dvr 点 ts 不 就行了吗?省事儿。 这个问题的根源啊,在于 e s m 和 c j s 这两种模块系统的底层差异。在 e s m 里, export default 是 一个专门的语法,但在 common j s 里, module notes exports 就 只是一个简单的对象赋值 tab script 为了保证类型安全,必须精确地反映出这种差异。如果你的类型文件混用了,就会导致一种叫类型伪装的问题, 解析器可能会搞混破坏类型安全,这就是 public 能帮你揪出来的那种极其隐蔽但又非常致命的深层问题。 ok, 原理咱们搞懂了,那在实际工作中,怎么把这个利器用起来呢?咱们来看看怎么一步步实现自动化,把它变成我们 ci 流程里一个坚不可摧的守门员儿。 最简单也是最基础的用法就是手动检查。在你准备敲下 n p m publish 之前,先在终端里运行一下 n p x public, 养成这个习惯能帮你避免很多低级错误。 当然,手动总有忘记的时候,所以我们可以上第二个台阶,本地自动化。 利用 n p m 的 per publish only 这个生命周期脚本,它会在你每次执行 publish 之前自动运行,这样就算你忘了它,也能在你手滑想发布一个坏包的时候直接把你拦下来。 但人总有办法绕过本地小本,对吧?所以终极方案也是我最推荐的,就是把它集成到你的 c i c d 流程里, 比如在 github actions 里加这么一个不惹。这样不管是谁提交代码,每一次 push 和 pull request 都会被严格检查,这才是真正的铜墙铁壁,谁也别想把有问题的包带到生产环境去。 聊到这啊,其实我们讨论的已经不只是一个工具了,而是一种理念,一种发布的哲学, 那就是把你的包的质量当成一个核心功能来对待。当然了,光靠 public 还不够了,要想做到真正的专业,你还得打一套组合拳, 比如说用 t s sup 这种现代化的构建工具来帮你正确生成双模块儿,在 package dirson 的 files 字段里明确指定要打包哪些文件,发布前一定要用杠杠 dry run 预览一下,合理使用 peer dependencies, 别给你的用户制造依赖地域, 最后严格遵守 samver 规范。所以你看啊,我们绕了一大圈,最终想说的是什么呢?打包发布它真的不是一个可有可无的收尾工作,它就是你这个库质量的一部分,是你用户体验的核心环节。 好,最后我想留给大家一个问题来思考一下,你的包在你的电脑上跑起来了,这很好,但他真的足够健壮,能在成千上万个不同环境、不同用户的机器上都稳定运行吗?

这个地方一直在显示我的年龄,还有我的性别啊,我是男的,然后三十岁左右。如果贴到人脸检测,我们最直观的想到的解决方案肯定是和前端程序员没什么事,我告诉你们这种想法是错误的, 我们就解密一下存前端怎么实现人脸识别?人脸识别,他是基于人的面部特征识别的一种技术,五哥出的这个库,他其实是一个机器学习的前途框架,目前市场上最流行的一个人脸识别的一个库,那么为了方便 我们普通人吊用,所以说又出了一个费是 api, 那么费是 api 封装了好多功能,基于人脸检测,居于点位,还有表情,还有年龄等等的识别。咱们接下来先看代码,这个项目里面我指引了费是 api, 这个库可以对人的表情进行识别,这种图片的表情 是高兴的,我可以换另外一张,另外一张啊,他就是晒掉的,比较伤心的,我可以对面部表情进行识别,我选择不同的图片啊,也可以对他的年龄进行识别,他现在这个年龄是十八岁,嗯,可能不准啊,比如说我选择我自己的图片,嗯,他是二十六岁,然后我还可以识别多种图片 对人脸的一个对比,也就说他能识别出来这个图片中这个人和这个人他其实是同一个啊,也可以基于 wifi tc 对人脸做一个识别,就是咱们常见的人脸识别,可以绘制出我的一个大概的轮廓,我也可以选择表情检测,对吧?我笑一下看有没有变化。这地方变成 happy 了,然后我在吃惊 就撕不出来的,对吧?就变成吃惊的表情。那么也可以对我的年龄做一个检测,这个地方一直在显示我的年龄,还有我的性别啊,我是男的,然后三十岁左右啊,识别的也特别准。

嘿,大家好,今天呢,我们来聊一个特别能提升团队效率的话题,咱们要说的就是怎么告别那些又老又笨重的桌面工作流工具,然后呢,直接在浏览器里就能搭一个又酷又好用的在线流程设计器。 想想看啊,你是不是也用过那种?呃,只能在一台电脑上装,操作起来巨复杂,而且最要命的是,根本没法跟同事一块儿协助的流程工具。要是你也受过了这种折磨,那今天这个内容你可千万别错过了。 好,咱们先来看看问题到底出在哪儿?你看啊,过去那些老式的工作流设计工具,总得先在电脑上装个软件儿吧,然后那个界面儿,哎,别提都复杂了,关键是它完全跟不上咱们现在这种快节奏讲究团队合作的工作方式。 哎,咱们看这张对比图就一目了然了,左边这两个 flop、 默德勒还有 eclipse 插件,都是老熟人了,都得在本地装, 这就意味着什么呢?写作起来特别麻烦,想自己改点东西定制一下也是限制一大堆。但是咱们今天的主钱 bpmgnes 可就完全不一样了, 你看,它压根就不用装,直接在浏览器里用,而且呢,特别容易跟别的系统集成,定制起来也方便,这简直就是天生为团队协助设计的嘛。 既然桌面工具有这么多毛病,那咋办呢?哎,办法很简单,就是把整个工作流设计的过程从咱们自己的电脑里解放出来,漂漂亮亮的搬到网上去。这样一来,咱们就有了一个完全基于浏览器的现代化解决方案了。 你可以想象一下那个场景,不管是设计流程还是保存,甚至是直接部署一个特别复杂的业务流程,你需要的工具就只有一个,浏览器不用装任何东西,你在哪都能干活,团队里任何人都能轻松的参与进来,这感觉是不是特别爽? 这就是这套方案真正牛的地方,听起来是不是挺神奇的?好,那接下来咱们就来揭秘一下,看看这背后到底是用了哪两个关键的开源技术,才把这个魔法给变出来的。 好,第一个主角登场了,它叫 flowable, 你 可以把它想象成是一辆汽车的发动机。对,就是那个看不见但在默默干活的大家伙, 他在后台负责处理所有最累最重的活,保证咱们画出来的那些流程图能够一个不差地准确地跑起来,它就是整个系统的动力核心。 那有了发动机,还得有方向盘和仪表盘吧?这第二个关键角色 bpmnjs 扮演的就是这个角色, 咱们可以把它看成是一个画板或者绘图工具,就是说 flobo 在 后台跑,而我们呢,就在浏览器里用 bpmngs 这个画板来画图,它特别轻巧,操作起来也特别直观,就是拖拖拽拽就能把复杂的流程给画出来。 当然了,光有发动机和画板儿还不够,得把它们俩好好地组合起来。所以你看,我们的技术战是这样的,后端呢,我们用的是大家都很熟的 spring boot, 加上 floppy 引擎和 mysql 数据库, 这套组合全打下来,保证了后台服务又稳又能打。那前端呢,就是 vg s 加上 bpm、 ngs 还有 element plus, 这样用户在浏览器里操作的时候,体验就会非常流畅。整个架构是前后端分离的,这么做的好处就是系统既灵活又稳定,以后扩展起来也方便。 好,我们现在知道了,前端有个画板,后端有个引擎,那他俩是怎么对话的呢?接下来咱们就来看一个最核心的交互流程,看看他们俩是怎么打配合的。 这个流程啊,可以说是整个系统的任督二脉,你看它是怎么跑的。第一步,你作为用户,在浏览器里点了一下新建流程,就这么简单一个动作,后台的 api 立刻就收到了,然后刷的一下就在数据库里创建了一条新的流程定义。 紧接着第三步,也是特别关键的一步,后台会把这个新流程的唯一 id 马上返回给你的浏览器,这下就等于给你正在画的这张图上了一个户口。以后你做的所有设计就都跟这个 id 绑定了,可以被准确地保存和追踪。 整个过程你在前面几乎是感觉不到的,后台全都给你安排的明明白白,体验非常顺滑。 好了,光说理论可能有点干,要想真正感受一下这个系统有多好用,咱们得来点实际的。下面我们就来看一个大家都特别熟悉的场景,请假审批流程。 咱们的业务规则是这样的,一个员工要请假,他先提交申请,然后呢,他的经理来审批,但是如果请假时间超过三天,光经理同意还不行,还得让人事部门也审批一下。 最后不管结果是同意还是拒绝,都要通知到这个员工,是不是很简单很常见, 那么这么一个流程是怎么从一张设计图变成一个真正能跑起来的应用程序的呢?其实就三步。第一步,画, 咱们就在浏览器里用 b b m n g s 提供的那些工具,像玩乐高一样,把刚刚说的那个请假流程给搭出来。第二步,存画好了,点一下保存按钮, 这时候我们画的这张图就会被转换成一种叫 xml 的 标准格式,然后通过后端的服务存到数据库里去。 最后,也是最见证奇迹的时刻部署,你只需要再点一下部署按钮,刚才存到数据库里的那个 xml 文件就会被后端的 flow 引擎给唤醒。就是这么一下,一张静态的设计图瞬间就变成一个活的,可以自动处理请假申请的在线流程了。 讲到这,相信大家已经能感觉到这种新的在网上设计流程的方式有多香了。那咱们最后来总结一下它到底好在哪?有哪些核心的优势? 咱们来盘点一下它的几个核心优势哈。首先,所有设计都在浏览器里搞定,完全在线。其次,所有的流程图都集中存在一个地方,再也不会乱了。然后部署流程就点一下按钮的事, 这解决了什么问题呢?你想想,以前又是装软件又是文件,传来传去,版本都搞不清楚,现在全没了,团队里所有人看的讨论的都是同一个最新的版本协助,效率一下子就上来了, 再加上他本身这个现代化的架构,又灵活又好定制,可以说这套东西是从根上改变了我们管理业务流程的玩法。 好了,最后呢,也留一个问题给大家思考一下,在你自己的公司或者团队里,你觉得哪个流程最老旧?这需要用咱们今天说的这种方式来改造一下, 想象一下,如果有了这么一套工具,你会从哪里开始掀起一场效率革命呢?好了,今天就聊到这里,感谢大家,我们下期再见。

在 ts 里边啊,有个非常非常重要的关键字叫做 infor, 你 不会这个关键字的话,很多的类型体操你是写不出来的,反之你会这个关键字很多的类型体操,你就可以非常轻松的做出来。 咱们通过几个例子啊,来讲一下这个关键字的用法。这个关键字的含义呢,就是一个推导,因为我们知道啊, ts 里边它本身就天生具备一个能力,就是类型推导,对吧?用这个 infor 关键字呢,我们就是充分的去利用 ts 本身的类型推导能力。比方说第一个例子,我这里呢有两个函数类型, 我希望呢做一个类型工具,叫做 return, 把函数传进去,它能够帮我拿到这个函数的返回类型。比方说把这个 sum 函数传进去,它就可以拿到这个函数的返回类型 number, 对 吧?把这个 complex 函数传进去,它就可以拿到这个函数的返回类型 any 输出。其实呢,在 t s 里边,它本身就有这么一个工具啊,叫做 return type, 你 看就可以拿到它的返回类型。不过呢,我这里还是自己写一遍啊,主要是为了去讲这个 inf。 这个类型怎么写呢?我们可以非常容易的想到啊,这里需要一个三步逆算,因为他有可能不是函数,对不对?如果他是函数的话,拿到什么他的返回类型,不是函数的话,那就拿到这个类型本身。比方说你给我传的是一个什么 number, 对 不对?那我就拿到这个类型本身,懂这意思吧,你只有传的是函数的时候,我才去拿这个函数返回类型。关键是这里怎么写呢?因为发现这里写不了, 我怎么能拿到这个函数的返回类型呢?哎,这个时候呢,我们就要把这个东西呢展开来写,他不能直接用一个方形的,我要把这个东西换成一个函数的通用写法。函数的通用写法是啥?就是参数的返回值吗?对吧?参数呢?是可以任意参数, 对不对?那你看这个参数列表是不是可以匹配任何函数,对吧?任何函数的参数都可以匹配这个类型标注,那么返回类型呢?也可以匹配为 n, 所以 效果是一样的。哪个函数不能匹配这个表达式呢?都能匹配,对吧?那么现在呢,我们要互相的返回类型,我们只需要在这里去做文章就行了,我们要利用这个 t s 的 推导功能,帮我推导出 返回类型。那你看啊,现在我们这样子写了过后是什么意思?当我传出一个上的时候,他会用这个东西去匹配它,匹配这个东西能不能匹配?当然能匹配,然后呢,他要匹配返回类型的时候呢,他看到有一个 inf 关键字,哎,那这个时候呢,他就不是做匹配了, 匹配是肯定匹配上了,在匹配上的同时呢,他要把这个返回类型推倒出来,然后放到这个变量 r 里边。那么后续呢,我们是不是可以利用这个 r 就 可以拿到它的结果了?这就是算法的用法,非常的简单,你看一下 number 出来了,对不对?下边这个 n 数组也出来了。好,这第一个例子。 好,咱们再看第二个例子呢?第二个例子呢,其实也是类似的啊,就是传入一个函数,这是个函数类型,我要推导出它的第一个参数是什么类型,然后这里呢,第一个参数如果说是 string 的 话,那么这里就会拿到一个 string 的 类型,那这里怎么写呢?是一样的道理,我们还是来个三个整数, t is tens 啥啥啊,匹配成功的时候呢,我就得到这个第一个参数啥啥,否则的话,我就得到这个类型 t。 好,那么这里怎么写?是不是还是一样展开,首先写上第一个参数,第一个参数是需要让他推导的,因此来个 infor first, 后续的参数呢,你随便匹配对吧? n, 你 输入,我要让你在匹配的时候把第一个参数的类型推导出来,放到这个变量 f 里边。好,这个函数的返回呢,我不关心,所以说 n 好, 那么如果推导出来了,我是不是可以把这里 f 放到这个位置,那你看这个类型取出来就是一个 string, 就非常简单,对不对?好,咱们再看一个例子啊,这是个典型的 promise 的 例子,同学们可以想一想啊,这一块该怎么来写?有例,我们刚才学过的知识,想一想啊,像这些小知识啊,小技巧啊,如果说符合你的胃口的话,那么强烈建议你啊,一定要来看看我的大师课,而且大师课是完全免费的啊,领取完事了,像这些小玩意吧,我也觉得挺有趣的,但是这个东西呢,给你的薪资没法直接挂钩, 你要解决你薪资高低和职业发展的问题的话,你必须要有成体系的核心知识,而这成体系的核心知识是没有办法在这种短视频的环境里可以传递出来的,动不动一碰上就是一个小时起步,而且是连续的多节课的一个小时,每节课一个小时左右。 像这些知识呢,你就要花一个整块的时间来进行系统性的学习。从我大师课的话,你看下来,怎么着也得几天的时间,但是你这几天的时间你花出去了,他达到的效果是我所有短视频加起来都无法比拟的。同学们经常来看袁老师的短视频,但是呢,还没有见识过我讲体系课程,你来看一下我讲体系知识是一个什么样的感觉,你是绝对没有经历过的。 因此呢,你正儿八经的想要解决薪资高低和职业发展的问题,要解决这些核心的职业生涯的问题的话, 你就必须要沉下心来,好好来看我的大师课。关键是个大师课目前可以免费领取啊,怎么领?在咱们账号主页,点击头像进入账号主页,点击提示领取,完事了好收回来啊,想出来了吗?该怎么来写?是不是还是一样的道理?还是那个三位数算啊? 三位数算的作用呢?其实就是在预算的过程中让他去匹配,对吧?他给写出来了,在翻行这一块呢,让他推导出来 r, 把这个 r 推导出来,推导出来过后返回就完事了。好,你看一下是不是得到一个数组的例子,我要得到一个数组的每一项的类型, 比方说这是个数值,它每项是个 string 类型,我要得到 string, 那 么这里呢?它的数值呢?有可能是 string, 有 可能是 number, 那 我要得到 string 和 number 的 联合类型,那这里该怎么写是一样的道理,对吧?推导出来这个数值,每项的类型返回就完事了。你看这里呢是联合类型,这里呢是 string, 所以 excel 关键字很好用。那如果说这个数值呢?它可能是个多位数值, 那这里呢?可能会出一点点问题啊,它推导出来是一个啊, string 的 字母串,因为它每一项是个 string 的 字母串嘛,就多位数数。如果说你还需要把它一层层拆解,拆解到最里边的一层,那么这一块呢,你就需要进行低位处理了。对,这个 u 还要低位处理,那么就可以拆解到它最里边的那一层,对吧?这都是可以灵活处理的。好,就讲这个引法关键字啊。

好,各位学小段同学推荐一个小工具库啊,它可以用来非常轻松的实现这些粒子效果,你像这个粒子效果呢,在很多的个人站点里面经常使用是吧,可以非常轻松实现比方这个效果啊,还有就是这个雪花效果啊,还包括这个星空效果啊,还有像这种方块的来回移动,这种效果啊,都是使用同一个库来完成的。 这个库的名字呢叫做 party cost 戒指,很有意思啊,这个库是十年前的库了,但是呢,现在依然有二十九 k 的 十大,而且这个十大数呢,还在不断的增加。目前的库呢,已经没有维护了,不过他也没啥好维护的,是一个非常清亮的库。 用法呢,你可以看一下官方文档,也可以看一下我这里的的势力啊,我这里准备了四个例子,这四个例子呢,每一行我都给你们打上了注。是啊,有兴趣的朋友呢,可以去看一下啊,找咱们来领取。完事了好推荐这么一个库啊。