Javascript
js学习积累
OldDreamHYN
这个作者很懒,什么都没留下…
展开
-
RegExp.exec() 学习笔记
RegExp.exec() 学习笔记看到一道关于从url query部分取值的面试题,用了正则/.+\?(.+)$/.exec(url)[1];,将 ? 后面的字符串取出。而我一直是用分割字符串来获取参数,故学习一番。记录在此,过几天忘了好复习。。。最基础的正则知识可参考:https://juejin.cn/post/6844904037481988103https://www.w3school.com.cn/jsref/jsref_exec_regexp.asp不使用分组的情况执行以下代码:原创 2021-01-13 16:56:06 · 495 阅读 · 0 评论 -
【JavaScript】奇怪的知识void 0 === undefined 为 true
void 0 === undefined 为 true;原创 2020-12-26 03:24:54 · 389 阅读 · 0 评论 -
【TypeScript】 装饰器的应用, Metadata 元数据的应用
读一篇关于依赖注入的文章时,发现看不懂在写什么了。。于是就有了这篇文章这就是看不懂的那篇 https://juejin.cn/post/6898882861277904910关于Metadata按我的理解,其实就是一些不能被直接访问的属性,里面可以保存很多类型的东西。。。相关api https://github.com/rbuckton/reflect-metadata#api关于装饰器的使用Ts装饰器官方文档:https://www.tslang.cn/docs/handbook/dec原创 2020-11-30 19:34:36 · 449 阅读 · 0 评论 -
npm包,发布、更新、删除教程
发布先登录npm用户,执行npm adduser // or npm loginUsername: npm-user-namePassword:Email: your-email复制代码根据提示输入正确的npm用户名、密码、邮箱,添加完后会默认登录执行npm publish复制代码如果没什么问题,应该就发布成功了。可以去npm搜索发布的包: my-test-project,或者去自己的npm账号下查看package(这个有延迟,比较慢)。更新版本号npm 提供官方提供了npm原创 2020-11-27 21:38:44 · 573 阅读 · 1 评论 -
npm package.json 依赖版本控制
参考 https://docs.npmjs.com/cli/v6/configuring-npm/package-json#dependenciesversion Must match version exactly,版本号不带任何前缀,直接匹配>version Must be greater than version 大于>=version etc 大于等于<version 小于<=version 小于等于~version “Approximately equival原创 2020-11-27 21:30:06 · 367 阅读 · 0 评论 -
js识别触摸手势
概述围绕撒个事件展开工作,touchstart、touchmove、touchend。touchstart 用于判断触摸开始,注意,双指按到屏幕上,会触发2次touchstart,因为2个指头有先后,所以一次捕捉到先碰到屏幕的指头,第二次才捕捉到2个,更多指的手势以此类推。因此,需要防抖,延迟执行,以最后一次触发的结果为准。touchmove,实时更新几个手指头的位置。touchend,结束触摸,注意!这个不会带有结束时手指的位置,因此需要在触发touchmove时,同步更新手指位置信息。触摸时原创 2020-11-27 19:28:35 · 1302 阅读 · 0 评论 -
Jest + puppeteer 自动测试
完整项目https://github.com/OldDream/copy-to-clipbord-ultralight为何需要做做了一个 js小工具发布到 npm 上,每次更新完都要手动测试,效率很低,有时甚至会忘记,万一把带bug的版本发布上去,那就坑人了。因此考虑引入自动测试,搭配GitHub + Travis CI, 能省心不少。选取我相对熟悉的 jest,但在这里和传统的js单测不同,因为这个工具涉及到dom操作,如果使用jest自带的模拟jsdom,意义不大,因此又引入了 puppetee原创 2020-11-26 19:51:36 · 823 阅读 · 0 评论 -
rollup打包TypeScript库,输出js文件+类型声明文件
参考资料:https://chenshenhai.github.io/rollupjs-note/ 一位大佬的 rollup 使用笔记https://rollupjs.org/guide/zh/ rollup 文档大纲:1、安装rollup相关组件npm i -d @babel/core @babel/preset-env @babel/preset-typescript @rollup/plugin-node-resolve rollup rollup-plugin-babel rollup原创 2020-11-24 18:37:36 · 9234 阅读 · 1 评论