背景
作为文档工具人,经常需要把代码里面的注释转换成语义化的 Markdown 文档,有时也需要进行反向操作。以前是写正则表达式全局匹配,时间长了这种方式也变得繁琐乏味。所以写了脚本来互转,增加一些便捷性。
"快捷转换/互转 Markdown 文档和 TypeScript/TypeDoc 注释"继续阅读
作为文档工具人,经常需要把代码里面的注释转换成语义化的 Markdown 文档,有时也需要进行反向操作。以前是写正则表达式全局匹配,时间长了这种方式也变得繁琐乏味。所以写了脚本来互转,增加一些便捷性。
"快捷转换/互转 Markdown 文档和 TypeScript/TypeDoc 注释"继续阅读
"前端性能和加载体验优化实践(附:PWA、离线包、内存优化、预渲染)"继续阅读
读完时间:2021 年 11 月 4 日
出版时间:2020 年 9 月
数据可视化说到底就是把数据映射成图形——输入数据,输出图形。
D3 绑定的数据没有出现在 DOM 中,而是作为该元素的 data 属性保存在内存里。
可以把 d 想象成一个寂寞的小占位值,它需要一点温暖,包括来自和蔼可亲的函数圆括号的拥抱。
"读书笔记:《数据可视化实战:使用D3设计交互式图表》 – [美] Scott Murray 著 / 李松峰 译"继续阅读
读完时间:2021 年 8 月 18 日
出版时间:2018 年 5 月
viewBox的值并没有带单位,这是因为SVG可视空间并不是基于像素来设定的,而是一个可任意延展的空间,这样就可以适应许多不同的尺寸。
"读书笔记:《SVG动画》 – [美]莎拉·德拉斯纳 著 / 大漠 译"继续阅读
JavaScript 篇幅略多 ★★★
读完时间:2020 年 8 月 20 日
出版时间:2020 年 1 月
"读书笔记:《深入理解TypeScript》 - [澳]Basarat Ali Syed 著 / 郭文超 何小磊 柳星 徐野 译"继续阅读
常规方法
const obj = { a: 1, b: 2, c: 3, [Symbol.iterator]() { let [index, values] = [0, Object.values(this)] return { next() { const done = (index >= values.length) const value = done ? undefined : values[index++] return { done, value } } } } } for (let v of obj) { console.log(v) // 1 2 3 }
"迭代器(Iterator)和生成器(Generation)"继续阅读
在一个赋值操作符左边放置一个对象字面量。
let { name, age } = { name: 'cherrie', age: '17' }
console.log(name, age) // cherrie 17
"ECMAScript6 解构赋值"继续阅读
husky + lint-staged + prettier + eslint + commitlint
git commit
, git push
。"通过 eslint stylelint htmllint 规范前端项目代码"继续阅读
版次:2012 年 3 月第 1 版
如果变量是给定引用类型的实例,那么 instanceof
操作符就会返回 true
。
找出那些不再继续使用的变量,然后释放其占用的内存。为此,垃圾收集器会按照固定的时间间隔,周期性地执行这一操作。
"读书笔记:《JavaScript高级程序设计》 - [美]Nicholas C·Zakas 著 / 李松峰 曹力 译"继续阅读